📄 sw.bak
字号:
void menu(void){
char key;
clrscr();
printf("\n\n LIST OPTION\n\n");
printf(" choise one of following:\n");
printf("\n 1.create the list.\n");
printf(" 2.insert a data.\n");
printf(" 3.delete a data.\n");
printf(" 4.display the list.\n");
printf(" 5.clear the list.\n");
printf(" 6.exit.\n");
printf("\n please enter your choise:");
key=getchar()-'0';
while(key<=0||key>=7){
printf("\n your choise is wrong,please choise a right one:");
key=getchar()-'0';
}
switch(key){
case 1:
clrscr();
creat();
menu();
break;
case 2:clrscr();insert(head);menu(); break;
case 3:clrscr();del(head);menu(); break;
case 4:clrscr();display(head); break;
case 5:clrscr(); clear(head); break;
case 6:clrscr(); exit(0);
}
}
struct list{int num;
struct list *next;
struct list *pre;
}
struct *head;
void creat(void){
struct list *p1,*p2;
int n=0;
p1=p2=(struct list*)malloc(sizeof(struct list));
printf("please enter the data: ");
scanf("%d",&p1->num);
head=NULL;
while(p1->num!=0)
{n=n+1;
if(n==1)
head=p1;
else{p2->next=p1;
p1->pre=p2;}
p2=p1;
p1=(struct list*)malloc(sizeof(struct list));
printf("\nplease enter the data: ");
scanf("%d",&p1->num);
}
p2->next=head;
head->pre=p2;
free(p1);
}
void insert(){
int x;
int y;
printf("input x,y");
scanf("%d,%d",&x,&y);
struct list *q,*r;
q=head;
do{q=q->next}
while(q->num!=x);
if(q=head);
return(ERROR);
else{r->num=y;
r->next=q;
r->pre=q->pre;
q->pre->next=r;
q->pre=r;}
exit(0);
}
(void)delete(){
int x;
printf("input x");
scanf("%d",&x);
struct list *q;
q=head;
do{q=q->next}
while(q->num!=x);
if(q=head)
return(ERROR);
else{q->pre->next=q->next;
q->next->pre=q->pre;
free(q);
exit(0);}
(void)display(){
struct list *q;
q=head;
do{q=q->next;
printf("%d\n",q->num);
}
while(q!=head)
}
(void)delete_all{
struct list *q;
q=head->next;
do(q=q->next,free(q->pre)}
while(q!=NULL)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -