這篇文章將為大家詳細(xì)講解有關(guān)C#中構(gòu)造線性表的類有哪些,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì)、屏山網(wǎng)絡(luò)推廣、重慶小程序開(kāi)發(fā)公司、屏山網(wǎng)絡(luò)營(yíng)銷、屏山企業(yè)策劃、屏山品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供屏山建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:www.cdcxhl.com
讓我們來(lái)看看C#數(shù)據(jù)結(jié)構(gòu)與算法之構(gòu)造線性表的類的代碼使用:
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#數(shù)據(jù)結(jié)構(gòu)與算法中構(gòu)造線性表的類之調(diào)用線性表的操作:
TList﹤string﹥ TL = new TList﹤string﹥(5) { }; TL.Append("A"); TL.Append("B");
關(guān)于“C#中構(gòu)造線性表的類有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。