赞
踩
示例代码:
List集合线性表
- using System;
- using System.Collections.Generic;
-
- namespace _001_线性表
- {
- class Program
- {
- static void Main(string[] args)
- {
- //List集合 就是一个线性结构表
- List<string> list = new List<string>();
- //添加数据
- list.Add("我是");//0
- list.Add("你爸");//1
- list.Add("啊啊");//2
- Console.WriteLine(list[1]);
- Console.WriteLine("List集合内容个数 =>"+list.Count);
- }
- }
- }
]
C#官方 自定线性表List集合
- using System;
- using System.Collections.Generic;
-
- namespace _001_线性表
- {
- class Program
- {
- static void Main(string[] args)
- {
- //List集合 就是一个线性结构表
- List<string> list = new List<string>();
- //添加数据
- list.Add("我是");//0
- list.Add("你爸");//1
- list.Add("啊啊");//2
- Console.WriteLine(list[1]);
- Console.WriteLine("List集合内容个数 =>"+list.Count);
- }
- }
- }
首先定义一个接口 IListXing.cs
- using System;
- namespace _001_线性表
- {
- public interface IListXing<T>
- {
- //得到长度
- public int GetLengh();
- //清空
- public void Clear();
- //是否为空
- public bool IsEmpty();
- //添加元素
- public void Add(T item);
- //指定位置 插入数据
- public void Insert(T item,int index);
- //删除指定位置 数据
- public T Delete(int index);
- //定义一个索引器 获取元素
- public T this[int index] { get; }
- //获取元素
- public T GetEle(int index);
- //按找值 来查找
- public int Locate(T value);
-
- }
- }
实现这个IListXing接口的方法 定义一个XingList.cs
- using System;
- using System.Collections;
- using System.Collections.Generic;
-
- namespace _001_线性表
- {
- public class XingList<T>:IListXing<T> //实现自定义接口
- {
- //存储数据
- private T[] data;
- //数据的个数
- private int count = 0;
-
- //构造方法 创建好的时候初始化
- public XingList(int size)
- {
- data = new T[size];
- count = 0;
- }
-
- //默认初始化构造函数长度为 10
- public XingList() : this(10) {
-
- }
-
- //添加数据
- public void Add(T item)
- {
- if (count == data.Length)
- {
- Console.WriteLine("我已经满了,你他娘的还往我这塞");
- }
- else {
- data[count] = item;
- count++;
- }
- }
-
- //获得List长度
- public int GetLengh()
- {
- return count;
- }
-
- //清空集合
- public void Clear()
- {
- count = 0;
- }
-
- //判断 集合里是否有数据
- public bool IsEmpty()
- {
- return count == 0;
- }
-
- //在指定位置 新增数据 插入数据
- public void Insert(T item, int index)
- {
- for (int i = count-1; i >= index; i++)
- {
- data[i + 1] = data[i];
- }
- data[index] = item;
- count++;
- }
-
- //通过索引器 返回 指定位置数据
- public T this[int index] {
- get{ return GetEle(index); }
- }
-
- //删除指定位置 数据
- public T Delete(int index)
- {
- T delItem = data[index]; //删除的数据
- for (int i = index+1; i < count; i++)
- {
- data[i - 1] = data[i]; //从删除的位置 开始从后向前移动
- }
- count--;
- return delItem; //返回删除的数据
- }
-
- //通过index下标 获取数据
- public T GetEle(int index)
- {
- if (index >= 0 && index <= count - 1)
- {
- //索引存在
- return data[index];
- }
- else {
- Console.WriteLine("索引不存在");
- return default(T);
- }
- }
-
- //根据给定数据 返回其在数组里下标位置
- public int Locate(T value)
- {
- for (int i = 0; i < count; i++)
- {
- if (data[i].Equals(value)) {
- return i;
- }
- }
- return -1; //执行到这里 说明数组里没有该数据 返回-1
- }
- }
- }
使用 XingList 进行输出 Program.cs
- using System;
- using System.Collections.Generic;
-
- namespace _001_线性表
- {
- class Program
- {
- static void Main(string[] args)
- {
-
- XingList<string> xingList = new XingList<string>();
- xingList.Add("元哥");
- xingList.Add("富少");
- xingList.Add("电竞Fuck肖");
-
- Console.WriteLine("集合的长度 =>"+xingList.GetLengh());
- Console.WriteLine("输出集合的第二个值 =>"+xingList[1]);
- for (int i = 0; i < xingList.GetLengh(); i++)
- {
- Console.WriteLine("第"+i+"个XingList的集合的数据===>"+ xingList[i]);
- }
-
- xingList.Delete(2); //删除第三数据
-
- for (int i = 0; i < xingList.GetLengh(); i++)
- {
- Console.WriteLine("删除后=>第" + i + "个XingList的集合的数据===>" + xingList[i]);
- }
-
- xingList.Clear();
-
- for (int i = 0; i < 2; i++)
- {
- Console.WriteLine("清空后=>第" + i + "个XingList的集合的数据===>" + xingList[i]);
- }
-
- Console.ReadLine();
-
- }
- }
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。