//最后将data插入到腾出来的位置 t.ListData[n] = data; t.ListLen++; return true; } #endregion
#region 顺序表的删除操作 ///<summary> /// 顺序表的删除操作 ///</summary> ///<param></param> ///<param></param> ///<returns></returns> public bool SeqListDelete<T>(SeqListType<T> t, int n) { //判断删除位置是否非法 if (n < 0 || n > t.ListLen - 1) return false; //判断数组是否已满 if (t.ListLen == t.MaxSize) return false; //将n处后的元素向前移位 for (int i = n; i < t.ListLen; i++) t.ListData[i] = t.ListData[i + 1]; //去掉数组最后一个元素 --t.ListLen; return true; } #endregion
#region 顺序表的按序号查找 ///<summary> /// 顺序表的按序号查找 ///</summary> ///<param></param> ///<param></param> ///<returns></returns> public T SeqListFindByNum<T>(SeqListType<T> t, int n) { if (n < 0 || n > t.ListLen - 1) return default(T); return t.ListData[n]; } #endregion
#region 顺序表的关键字查找 ///<summary> /// 顺序表的关键字查找 ///</summary> ///<typeparam></typeparam> ///<typeparam></typeparam> ///<param></param> ///<param></param> ///<param></param> ///<returns></returns> public T SeqListFindByKey<T, W>(SeqListType<T> t, string key, Func<T, W> where) where W : IComparable {
for (int i = 0; i < t.ListLen; i++) { if (where(t.ListData[i]).CompareTo(key) == 0) { return t.ListData[i]; } } return default(T); } #endregion } #endregion }
运行结果:
(编辑:焦作站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|