线性表顺序存储结构编程实现
线性表顺序存储结构的定义(随机存储)
#define MaxSize 100
typedef struct{
ElemType data[Maxsize];
int length;
}sqlist;
//建立顺序表
void CreatList(sqlist *&L,ElemType a[],int n){
//由a中的n个元素建立顺序表
int i=0,k=0; //k表示L中的元素个数,初始值为0
L=(sqlist *)malloc(sizeof(sqlist)); //分配空间
while(i<n){
//i扫描数组中的空间
L->data[k]=a[i] //将元素a[i]存放到L中
k++;i++;
}
L->length=k; //设置L的长度k
}
//初始化顺序表Initlist(&L)
void initlist(sqlist *&L){
L=(sqlist *)malloc(sizeof(sqlist));
L->length=0;
}
//销毁线性表
void DestroyList(sqlist *&L){
free(L); //释放l所指的空间
}
//判断是否为空
bool listempty(sqlist *L){
return (L->length==0);
}
//求线性表的长度
bool listlength(sqlist *L){
return (L->length);
}
//输出线性表
void displist(sqlist *L){
for(i=0;i<L->length;i++)
printf("%d\n",L->data[i]);
}
//求线性表中某个元素的值getelem(L,i,&e)
bool getelem(sqlist *L,int i,Elemtpye &e){
if(i<1 ||