马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
线性表
次序表
次序表的静态分配
- //线性表的元素类型为 ElemType
- //顺序表的静态分配
- #define MaxSize=10
- typedef int ElemType;
- typedef struct{
- ElemType data[MaxSize];
- int length;
- }SqList;
复制代码 次序表的动态分配
- //顺序表的动态分配
- #define InitSize 10
- typedef struct{
- ElemType * data;
- int MaxSize
- int length;
- }SqList;
- //初始化
- void InitList(SqList &L)
- {
- L.data=(ElemType *)malloc(InitSize*sizeof(ElemType));
- L.length=0;
- L.MaxSize=InitSize;
- }
复制代码 插入操作 O(n)
- //插入操作
- #define MaxSize=10
- typedef int ElemType;
- typedef struct{
- ElemType data[MaxSize];
- int length;
- }SqList;
- bool ListInsert(SqList &L,int i,int e)
- {
- if(i<1||i>L.length+1) return false;
- if(L.length==MaxSize) return false;
- for(int j=L.length;j>=i;j--)
- {
- L.data[j]=L.data[j-1];
- }
- L.data[i-1]=e;
- return true;
- }
复制代码 删除操作 O(n)
- //删除操作
- #define MaxSize=10
- typedef int ElemType;
- typedef struct{
- ElemType data[MaxSize];
- int length;
- }SqList;
- bool ListDelete(SqList &L,int i,ElemType &e)
- {
- if(i<1||i>L.length) return false;
- e=L.data[i-1];
- for(int j=i;j<L.length;j++)
- {
- L.data[j-1]=L.data[j];
- }
- L.length--;
- return true;
-
- }
复制代码 按值查找 O(n)
- int LocateElem(SqList L,ElemType e)
- {
- int i;
- for(i=0;i<L.length;i++)
- {
- if(L.data[i]==e) return i+1;
- }
- return 0;
- }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |