一、顺序表
1、顺序表的结构体定义
typedef struct
{
int *data; //存放顺序表元素的数组
int length; //存放顺序表的长度
int Maxsize;//顺序表最大长度
}Sqlist; //顺序表类型的定义
2.初始化顺序表
Sqlist initList()
{
Sqlist L;
L.data = (int*)malloc(sizeof(int));//用malloc函数申请一片空间
L.length = 0; //把顺序表的当前长度设为0
return L;
}
3.查找数据
int findElem(Sqlist L, int e )
{
int i;
for(i=0;i<L.length;i++)
{
if (e==L.data[i])
return i; //若找到,则返回下标
}
return -1; //没有找到,返回-1
}
4.删除表L中下标为p的元素,成功返回1,否则返回0,并将被删除元素的值赋给e。
int deleteElem(Sqlist &L, int p, int &e)
{
int i;
if (p<0||p>L.length-1)
return 0;
e = L.data[p];
for(i=p;i<L.length-1;++i)
{
L.data[i] = L.data[i+1];
}
--L.length;
return 1;
}
二、链式表
1.单链表抽象数据类