#include <stdio.h> #include <stdlib.h> #include <stdbool.h> #define initsize 10 typedef struct { int *data; int length; int maxsize; }SqList; void increaselen(SqList *L,int len) { int *p=L->data; L->data = (int *)malloc((L->maxsize+len)*sizeof(int)); for(int j=0;j<L->maxsize;j++) { L->data[j]=p[j]; } L->maxsize+=len; free(p); } void initlist(SqList *L) { L->data=(int *)malloc(initsize*sizeof(int)); for(int i=0;i<initsize;i++) { L->data[i]=0; } L->length=0; L->maxsize=initsize; } bool insertlist(SqList *L,int i,int e) { if(i<1||i>(L->length+1))//判断是否与上一个元素相邻 { return false; } if(L->length>=L->maxsize) { return false; } for(int j=L->length;j>=i;j++) { L->data[j]=L->data[j-1]; } L->data[i-1]=e; L->length++; return true; } int main() { SqList L; initlist(&L); insertlist(&L,1,1); insertlist(&L,2,2); insertlist(&L,3,3); insertlist(&L,4,4); insertlist(&L,5,5); insertlist(&L,6,6); insertlist(&L,7,7); // insertlist(&L,8,8); // insertlist(&L,9,9); // insertlist(&L,10,10); // increaselen(&L,10); for(int i=0;i<initsize;i++) { printf("%d ",L.data[i]); } printf("\n"); printf("%d",L.length); return 0; }
标签:insertlist,22,03,int,maxsize,length,SqList,基本操作,data From: https://www.cnblogs.com/ryuichi-ssk/p/17245476.html