本文介绍 C#实现顺序表数据结构定义 1数据表定义 public const int MaxSize = 50;//定义线性表最大长度 /// /// 顺序表定义 /// struct SqList { //C#结构体中的数组必须规定他的大小,SizeConst数组大小 [MarshalAs(UnmanagedType.ByValArray, SizeConst = MaxSize)] public object[] data ; public int length; }; 2、顺序表插入 /// /// 顺序表插入 /// /// bool ListInSert(ref SqList L,int i,object e)//ref的作用就是这个。它将变量本身而不是副本传给方法,所以对参数的修改原来变量的值 { //将元素e插入顺序表L中第i个位置 if (i < 1 || i > L.length + 1) return false; for (int j = L.length; j > i; j–) L.data[j] = L.data[j - 1]; L.data[i - 1] = e; L.length++; return true; } 3、顺序表删除 /// /// 顺序表删除 /// /// bool ListDelete(ref SqList L, int i, ref object e) { if (i < 1 || i > L.length) return false; e = L.data[i - 1];//删除的元素赋值给e for (int j = i; j < L.length; j++) L.data[j - 1] = L.data[j]; L.length–; return true; } 4、顺序表查找 /// /// 顺序表查找 /// /// int LocateElem(SqList L, object e) { int i; for ( i = 0; i < L.length - 1; i++) if( L.data[i] == e) return i+1; return 0; }
C#实现顺序表定义、插入、删除、查找操作
关注
打赏