1 线性表的顺序表示
#include\ #include\ usingnamespacestd; typedefstruct{
int *elem; int length; intlistsize;
}SqList;
intInit_Sq(SqList&L){ }
intListInsert(SqList&L,inti,int e){ }
intListDelete(SqList&L,inti,int&e){
if(i<1||i>L.length)
return 0;
int *p=&(L.elem[i-1]); e=*p;
int *q=L.elem+L.length-1; for(++p;p<=q;++p){
*(p-1)=*p; if(i<1||i>L.length+1) }
int *q=&(L.elem[i-1]); int *p=&(L.elem[L.length-1]); for(p;p>=q;--p){ } *q=e; ++L.length; return 1;
*(p+1)=*p; return 0;
int *newbase=(int *)realloc(L.elem,(L.listsize+10)*sizeof(int)); if(!newbase)
exit(-2); L.elem=newbase; L.listsize+=10; if(L.length>=L.listsize){
L.elem=(int *)malloc(100*sizeof(int)); if(!L.elem)
exit(-2); L.length=0; L.listsize=100; return 1;
}
}
--L.length; return e;
int main(){ }
int a[6]={1,2,3,4,5}; int *q=&a[1]; int *p=&a[4]; for(p;p>=q;--p){ } *q=3;
for(int i=0;i<6;i++){ }
cout< for(int j=1;j<10;j++){ } ListInsert(lx,3,55); inte_return; ListDelete(lx,4,e_return); for(int m=0;m<10;m++){ } cout< cout<<*(lx.elem+m)<<\; ListInsert(lx,j,j); cout< 1 3 2 3 4 5 1 2 55 4 5 6 7 8 9 9 3请按任意键继续. . . 2 线性表的链性表示 #include\ #include\ usingnamespacestd; typedefstructLNode { int data; structLNode *next; }LNode,*LinkList; intInitList(LinkList&L) { } intListInsert(LinkList&L,inti,int e) { } intListDelete(LinkList&L,int i) { } intGetElem(LinkListL,int i) { LinkList p=L->next; int j=1; while(p&&j while(p->next&&j if(!(p->next)||j>i-1) return 0; LinkList q=p->next; p->next=q->next; free(q); return 1; p=p->next; ++j; LinkList p=L; int j=0; while(p&&j if(!p||j>i-1) return 0; LinkList s=(LinkList)malloc(sizeof(LNode)); s->data=e; s->next=p->next; p->next=s; return 1; p=p->next; ++j; L=(LinkList)malloc(sizeof(LNode)); L->next=NULL; return 1;