C#中构造线性表的类有哪些
这篇文章将为大家详细讲解有关C#中构造线性表的类有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于网站设计制作、网站设计、屏山网络推广、重庆小程序开发公司、屏山网络营销、屏山企业策划、屏山品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联公司为所有大学生创业者提供屏山建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com
让我们来看看C#数据结构与算法之构造线性表的类的代码使用:
public interface IListDS﹤T﹥ { int GetLength(); void Clear(); bool IsEmpty(); bool IsFull(); void Append(T item); void Insert(T item, int i); T Delete(int i); T GetElem(int i); string Locate(T value); } public class TList﹤T﹥ : IListDS﹤T﹥ { private T[] _list; private int _len; private int _lastOne; public T this[int length] { get { return _list[length]; } set { _list[length] = value; } } public int List { get { return _lastOne; } } public int Maxsize { get { return _len; } set { _len = value; } } public TList(int size) { _list = new T[size]; _len = size; _lastOne = -1; } public int GetLength() { return _lastOne + 1; } public bool IsEmpty() { if (_lastOne == -1) { return true; } else { return false; } } public void Clear() { _lastOne = -1; } public bool IsFull() { if (_lastOne == _len - 1) { return true; } else { return false; } } public void Append(T item) { if (IsFull()) { throw new ArgumentOutOfRangeException("The list is full!"); } _list[++_lastOne] = item; } public void Insert(T item, int i) { if (IsFull()) { throw new ArgumentOutOfRangeException("The list is full!"); } if (i ﹤ 0 || i ﹥ _len) { throw new ArgumentOutOfRangeException("Position Error!"); } if (i == _lastOne) { _list[++_lastOne] = item; } else { for (int j = i; j ﹤ _len - 1; j++) { _list[j + 1] = _list[j]; } _list[i] = item; } ++_lastOne; } public T Delete(int i) { T t = default(T); if (IsEmpty()) { throw new ArgumentNullException("T", "List is empty!"); } if (i ﹤ 0 || i ﹥ _lastOne) { throw new ArgumentOutOfRangeException("T", "Position is Error!"); } if (i == _lastOne) { t = _list[_lastOne - 1]; } else { t = _list[_lastOne]; for (int j = i; j ﹤ _lastOne; j++) { _list[j] = _list[j + 1]; } } --_lastOne; return t; } public T GetElem(int i) { if (IsEmpty()) { throw new ArgumentNullException("T", "List is empty!"); } if (i ﹤ 0 || i ﹥ _len) { throw new ArgumentOutOfRangeException("Position is Error!"); } return _list[i]; } public string Locate(T value) { if (IsEmpty()) { throw new ArgumentNullException("T", "List is empty!"); } int i = 0; for (i = 0; i ﹤ _len; i++) { if (value.Equals(_list[i])) { break; } } if (i ﹥= _len) { return "-1"; } return i.ToString(); } }
C#数据结构与算法中构造线性表的类之调用线性表的操作:
TList﹤string﹥ TL = new TList﹤string﹥(5) { }; TL.Append("A"); TL.Append("B");
关于“C#中构造线性表的类有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
本文名称:C#中构造线性表的类有哪些
标题来源:http://azwzsj.com/article/jessji.html