- init_SeqList() initialize linear list
- Insert_SeqList(SeqList *L,int i,datatype x) insert x to the position of linear table i
- Delete_SeqList(SeqList *L,int i) delete the i-th element in the table (i=[1,n])
- Loaction_SeqList(SeqList *L,datatype x) Find element x in sequence table
#define MAXSIZE 20
typedef struct {
int data;
}datatype;
typedef struct{
datatype data[MAXSIZE];
int last;
}SeqList;
SeqList *init_SeqList(){
SeqList *L;
L=(SeqList *)malloc(sizeof(SeqList));
L->last=-1;
return L;
}
int Insert_SeqList(SeqList *L,int i,datatype x){
int j;
if(L->last==MAXSIZE-1)
return -1;
if(i<1||i>L->last+2)
return 0;
for(j=L->last;j>=i-1;j--){
L->data[j+1]=L->data[j];
}
L->data[i-1]=x;
L->last++;
return 1;
}
int Delete_SeqList(SeqList *L,int i){
int j;
if(i<1||i>L->last+1)
return 0;
for(j=i;j<=L->last;j++){
L->data[j-1]=L->data[j];
}
L->last--;
return 1;
}
int Loaction_SeqList(SeqList *L,datatype x){
int i=0;
while(i<=L->last&&L->data[i].data!=x.data)
++i;
if(i>L->last)
return -1;
return i;
}