#include<stdio.h>
#include<malloc.h>
#define ERROR 0
#define OK 1
#define INIT_SIZE 5
#define INCREM 5
typedef int ElemType;
typedef struct Sqlist{
ElemType *slist;
int length;
int listsize;
}Sqlist;
int InitList_sq(Sqlist *L);
int CreateList_sq(Sqlist *L,int n);
int ListInsert_sq(Sqlist *L,int i,ElemType e);
int PrintList_sq(Sqlist *L);
int ListDelete_sq(Sqlist *L,int i);
int ListLocate(Sqlist *L,ElemType e);
int InitList_sq(Sqlist *L){
L->slist=(ElemType*)malloc(INIT_SIZE*sizeof(ElemType));
if(!L->slist) return ERROR;
L->length=0
L->listsize=INIT_SIZE;
return OK;
}/*InitList*/
int CreateList_sq(Sqlist *L,int n){
ElemType e;
int i;
for(i=0,i<n,i++){
printf("input date %d",i+1);
scanf("%d",&e);
if(!ListInsert_sq(L,i+1,e))
return ERROR;
}
return OK;
}/*CreateList*/
/*输出顺序表中的元素*/
int PrintList_sq(Sqlist *L){
int i;
for(i=1,i<=L->length,i++)
printf("%5d",L->slist[i-1]);
return OK;
}/*PrintList*/
int ListInsert_sq(Sqlist *L,int i,ElemType e){
int k;
if(i<1||i>L->length+1)
return ERROR;
if(L->length>=L->listsize){
L->slist=(ElemType*)realloc(L->slist,
(INIT_SIZE+INCREM)*sizeof(ElemType));
if(!L->slist)
return ERROR;
L-listsize+=INCREM;
}
for(k=L-lengh-1;k>=i-1;k--){
L->slist[k+1]=k;
}
L->slist[i-1]=e;
L->length++;
return OK;
}/*ListInsert*/
int ListDelete_sq(Sqlist *L,int i)
{
if((i<1)||(i>length)) return ERROR;
for(p=i-1;p<->length-1;p++)
L->slist[p]=L-slist[p+1];
L->length--;
return OK;
}
int ListLocate(Sqlist *L,ElemType e){
}
int main(){
Sqlist s1;
int n;
printf("please input n:");/*输入顺序表的元素个数*/
scanf("%d",&n);
if(n>0){
printf("\n1-Create Sqlist:\n");
InitList_sq(&s1);
CreateList_sq(&s1,n);
printf("\n2-Print Sqlist:\n");
printList_sq(&s1);
}else
printf("ERROR");
return 0;
}
|