顺序表和单链表的设计与实现
1.顺序表
#include<stdio.h>
#include<malloc.h>
#define MaxSize 50
typedef char ElemType;
typedef struct
{
ElemType data[MaxSize];
int length;
}Sqlist;//定义顺序表
void CreateList(Sqlist *&L,ElemType a[],int n)
{
int i;
L=(Sqlist *)malloc(sizeof(Sqlist));
for(i=0;i<n;i++)
{
L->data[i]=a[i];
}
L->length=n;
}//建立顺序表
void InList(Sqlist *&L)
{
L=(Sqlist *)malloc(sizeof(Sqlist));
L->length=0;
}//初始化线性表
bool ListInsert(Sqlist *&L,int i,ElemType e)
{
int j;
if(i<1 ||i>L->length+1)
return false;
i--;
for(j=L->length;j>i;j--)
L->data[j]=L->data[j-1];
L->data[i]=e;
L->length++;
return true;
}//插入元素
void DispList(Sqlist *L)
{
int i;
for(i=0;i<L->length;i++)
printf("%c",L->data[i]);
printf("\n");
}//