⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sw.bak

📁 C语言编程工具 可以快捷 方便的编写程序
💻 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 + -