Tag:顺序表

Tag (顺序表)'s result:

Sequential table

对顺序表进行初始化,创建,插入,删除和查找操作 #include <stdio.h> 3 4 #define list_init_size 100 5 #define listincrement 10 6 7 typedef struct 8 { 9 int *elem; 10 int length; 11 int listsize; 12 } sqlist; 13 14 //初始化顺序表 15 int init(sqlist *L) 16 { 17 L->elem = (int *)malloc(list_init_size *sizeof(int)); //分配空间 18 if (!L->elem) 19 { 20 return 0; 21 } 22 L->length = 0; //初始化顺序表元素个数为0 23 L->listsize = list_init_size; //最大长度为100 24 return 1; 25 } 26 27 //创建顺序表 28 void createlist(sqlist *L,int len) 29 { 30 if (len>=list_init_size) //如果元素个数大于等于顺序表长度,设等于为了方便后续插入操作 31 { 32 L->elem=(int *)realloc(L->elem,len *sizeof(int)); //新增空间 33 L->listsize = len; //修改最大长度为len 34 } 35 36 printf(“请输入顺序表元素\n”); 37 for (int i=1; i<=len; i++) //注意:是从1开始创建! 38 { 39 scanf(“%d”,&L->elem[i]); 40 } 41 42 L->length = len; //元素个数赋值为len 43 printf(“创建的顺序表为:\n”); 44 for (i=1; i<=len; i++) 45 { 46 printf(“%d “,L->elem[i]); 47 } 48 printf(“\n此顺序表共%d个元素\n”,L->length); 49 } 50 51 //插入 52 int ins(sqlist *L,int i,int x) 53 { 54 int j; 55 if (L->length==L->listsize) 56 { 57 printf(“顺序表已满,无法插入\n”); 58 return 0; 59 } 60 61 else 62 {……