该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include
#include
#define list_cs 100
#define list_zl 10
struct sqlink
{int *elem;
int len;
int listsize;
};
int cj( sqlink *l)
{(*l).elem= (int*)malloc(list_cs*sizeof(int));
if(!(*l).elem)
exit(-1);
(*l).len=0;
(*l).listsize=list_cs;
return 1;}
int insert( sqlink *l, int i,int e)
{
int *n,*q,*p;
if(i <1 || i > (*l).len + 1){
return -1;
}
if((*l).len >= (*l).listsize ){
n=(int*)realloc((*l).elem,(((*l).listsize+list_zl)*sizeof(int)));
if(!n)exit(-1);
(*l).elem=n;
(*l).listsize+=list_zl;
}
q=&((*l).elem[i-1]);
for(p = &((*l).elem[(*l).len-1]);p>=q;--p)
*(p+1)=*p;
*q=e;
++(*l).len;
return 1;}
int sc( sqlink *l ,int i,int e)
{ int *q,*p;
if(i <1 || i > (*l).len )
return -1;
p=&((*l).elem[i-1]);
e=*p;
q=(*l).elem+(*l).len-1;
for(++p;p<=q;++p)
*(p-1)=*p;
--(*l).len;
return 1;}
int cz( sqlink *l ,int e)
{int(*compare)(int,int);
int i=1;
int*p;
p=(*l).elem;
while(i<=(*l).len&&!(*compare)(*p++,e))
++i;
if(i<=(*l).len)
return i;
els