2、-1)printf("%d",p);if(p==0){printf("%d",l);}}return0;}intsq_delete(list,p_n,x)intlist[];int*p_n,x;{intj;if(x<0
3、
4、x>=*p_n)return-1;for(j=x+1;j<*p_n;j++)list[j-1]=list[j];(*p_n)--;return0;}被调用函数:intsq_delete(list,p_n,x)线性表删除调试时间:2010-10-1623:08:251801实现环形队列(MAXN不超过100001),要求能够进行进队出队操作
5、,参考课本P15页例程。#defineN100001#include#includechara[N][20];inthead=0;inttail=0;intmain(){intenq(charch1[]);intdeq(char*p);charb[7],c[20];intq,x;scanf("%d",&q);while(q--){scanf("%s",&b);if(b[0]=='e'){scanf("%s",&c);enq(c);if(enq(c)==0)printf("");}elseif(b[0]=='d'){x=de
6、q(&a[head]);if(x==-2)printf("-1");elseprintf("%s",a[deq(&a[head])]);}}return0;} intenq(charch1[]){tail=(tail+1)%N;if(tail==head){if(tail==0)tail=N-1;elsetail--;return1;}strcpy(a[tail],ch1);return0;}intdeq(char*p){inth;if(head==tail)return-2;h=head;head=(head+1)%N;*p=a[head][0];re
7、turnh;}被调用函数:进队函数intenq(charch1[])出对函数intdeq(char*p)调试时间:2010-11-1009:26:011803实现线性链表的创建于插入(插入到已有元素之后)includetypedefstructnode{intdata;structnode*link;}NODE;intmain(){NODE*creatlist(intn);voidinsert(NODE*phead,inta,intb);NODE*ahead,*p;intm,q;intx,y;scanf("%d",&m);ahead=creatl
8、ist(m);scanf("%d",&q);while(q--){scanf("%d%d",&x,&y);insert(ahead,x,y);for(p=ahead;(p->link)!=NULL;p=p->link)printf("%d",p->data);printf("%d",p->data);}return0;}NODE*creatlist(intn){inti;NODE*head,*p0,*q;if(n==0)return(NULL);head=(NODE*)malloc(sizeof(NODE));p0=head;for(i=1;i9、scanf("%d",&(p0->data));q=(NODE*)malloc(sizeof(NODE));p0->link=q;p0=q;}scanf("%d",&(p0->data));p0->link=NULL;returnhead;}voidinsert(NODE*phead,inta,intb){NODE*p0,*q;q=(NODE*)malloc(sizeof(NODE));q->data=b;q->link=NULL;if(phead==NULL)phead=q;else{p0=phead;while(p0->data!=a&&p0->link!=N
10、ULL)p