//静态分配
#define MaxSize 50
typedef struct{
ElemType data[MaxSize]
int length;
}SqList
//动态分配
#define InitSize 50
typedef struct{
ElemType *data;
int MaxSize,length;
}SeqList
//c
L.data=(ElemType*)malloc(sizeof(ElemType)*InitSize)
//c++
L.data=new ElemType[InitSize]
//插入
bool ListInsert(SqList &L,int i,ElemType 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;
L.length++;
return true;
}
//删除操作
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
}
//按值查找(顺序查找)
//查找第一个元素值等于e的元素。
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;
}
数据结构学习笔记之顺序表代码(1)
最新推荐文章于 2024-11-05 11:47:58 发布