数据结构(考研)
线性表次序表
次序表的静态分配
//线性表的元素类型为 ElemType
//顺序表的静态分配
#define MaxSize=10
typedef int ElemType;
typedef struct{
ElemType data;
int length;
}SqList;
次序表的动态分配
https://i-blog.csdnimg.cn/direct/ea4880247beb490c969b87b3d9b3bdeb.png
//顺序表的动态分配
#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;
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=L.data;
}
L.data=e;
return true;
}
删除操作 O(n)
//删除操作
#define MaxSize=10
typedef int ElemType;
typedef struct{
ElemType data;
int length;
}SqList;
bool ListDelete(SqList &L,int i,ElemType &e)
{
if(i<1||i>L.length) return false;
e=L.data;
for(int j=i;j<L.length;j++)
{
L.data=L.data;
}
L.length--;
return true;
}
按值查找 O(n)
int LocateElem(SqList L,ElemType e)
{
int i;
for(i=0;i<L.length;i++)
{
if(L.data==e) return i+1;
}
return 0;
}
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]