- init_SeqList () inicializar lista lineal
- Insert_SeqList (SeqList * L, int i, datatype x) inserta x en la posición de la tabla lineal i
- Delete_SeqList (SeqList * L, int i) elimina el elemento i-ésimo en la tabla (i = [1, n])
- Loaction_SeqList (SeqList * L, tipo de datos x) Encuentra el elemento x en la tabla de secuencia
#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;
}