亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 陳少博.cpp

?? 編寫程序完成單鏈表的創建、插入、刪除、排序、并、交、差運算、及輸出等基本操作。
?? CPP
字號:
#include <malloc.h> 
#include<stdlib.h> 
#include <stdio.h> 
typedef struct Lnode
{int data; 
struct Lnode *next; 
}*Linklist,Lnode;       
void CreatList(Lnode *L)   /*建立鏈表函數*/
{ Lnode *p;
  int value;
  L->next=NULL;
 while (1)  /*當輸入非0數值時*/
  {scanf( "%d",&value); 
  if (value==NULL)
   return;	
   p=(Lnode *)malloc(sizeof(Lnode));  /*建立P鏈表*/
   p->data=value;
   p->next=L->next;   /*把后輸入的插到前面*/
   L->next=p;
 }
}
void paixu(Lnode *L)
{
 Linklist r,q,small;int temp; 
 for(r=L->next;r->next!=NULL;r=r->next) 
 {small=r; 
  for(q=r->next;q;q=q->next) /*找到鏈表中最小元素*/
     if(q->data<small->data) 
        small=q; 
  if(small!=r) 
  {temp=r->data; 
  r->data=small->data;        /*把最小的數值換到P指針所指的位置數值上(原P指針的next指向不變)*/
  small->data=temp;           /*把原先p指針所指位置的數值填入被置換出的最小元素位置*/
  } 
 } 
 printf("正在對新鏈表進行排序……\n"); 
} 
void PrintList(Lnode *L) /*打印鏈表函數*/
{ 
 Lnode *p=L->next;     /*帶頭節點,把指針置于第一個數*/
 if(p==0)
 {printf("鏈表為空");}
 else
 printf("鏈表為:");
 {while(p)
 {
 printf("%d>>", p->data);
 p=p->next;
 }
 } 
 printf("\n");
}  

inter(Lnode *L,int i)
{
 Lnode *k=L->next;
 while(k)
 {if (k->data==i)
    return 1;
  k=k->next;
 }
 return 0;
}

int ListInsert_L(Lnode *L, int i, int e)
{
 Lnode *p=L->next;
 Lnode *s;
 int j=0;
 while (p && j<i-1) {p=p->next; ++j;}
 if (!p || j>i-1) return 0; 
 s=(Lnode *)malloc(sizeof(Lnode));
 s->data=e;
 s->next=p->next;
 p->next=s;
 return 1;
}

int ListDelete_L(Lnode *L,int i)
{
 Lnode *p=L->next;
 int j=0;
 Lnode *q;
 while (p->next && j<i-1) {p=p->next; ++j;} /*找出第i節點,并令p指向其前趨*/
 if (!p->next || j>i-1) return 0; 
 q=p->next;
 p->next=q->next;
 free(q);
 return 1;
}

main()
{
 int sign,sign1,signa,signb,signc,i,x,ca,cb,cc;
 int choice=1;
 Lnode *A,*B,*C,*D,*E,*L,*p,*q,*n,*m;
 A=(Lnode *)malloc(sizeof(Lnode));
 B=(Lnode *)malloc(sizeof(Lnode));
 C=(Lnode *)malloc(sizeof(Lnode));
 D=(Lnode *)malloc(sizeof(Lnode));
 E=(Lnode *)malloc(sizeof(Lnode));
 printf("\t 《數據結構課程設計——單鏈表的基本操作》\n\n");
 while (choice)
	{
	 printf("\t 請選擇您想進行的操作:\n 1:對A鏈表操作 \n 2:對B鏈表操作 \n 3:兩鏈表運算 \n 4:退出程序 \n \n 您的選擇是:");
	 scanf("%d",&sign1);
			if (sign1==1)
				{L=A;
				 ca=1;
			 while (ca)
			   {printf("\t 請選擇對A鏈表進行的操作:\n 1:建立鏈表 \n 2:對鏈表排序 \n 3:在鏈表中插入元素 \n 4:在鏈表中刪除元素 \n 5:返回上一級菜單 \n 您的選擇是:");
				scanf("%d",&signa);
	            switch(signa)
	             {
		          case 1:
			          printf("\n請輸入鏈表元素(輸入0結束)\n");
			          CreatList(A);
			          PrintList(A);
					  break;
		          case 2:
					  printf("對A鏈表進行排序,結果為:\n ");
			          paixu(A);
                      PrintList(A);
					  break;
				  case 3:
			          printf("請輸入想要插入的位置及插入的數值(以逗號分隔): ");
			          scanf("%d,%d",&i,&x);
			          if (ListInsert_L(L,i,x)==1)
				        {printf("修改成功!目前A鏈表為:\n");
			             PrintList(L);}
                      else 
			            printf("警告!您輸入的插入位置超過鏈表長度。 \n");
			  			break;
			  	  case 4:
			  	      printf("請輸入想要刪除的元素位置: ");
			          scanf("%d",&i);
			          if (ListDelete_L(L,i)==1)
				        {printf("刪除元素成功!目前A鏈表為:\n");
			             PrintList(L);}
                      else 
			            printf("警告!您輸入的刪除位置超過鏈表長度。 \n");
			  			break;
			  	  case 5: 
			  	       ca=0;
			  	       break;
			  	  default: 
			  	  printf("警告!只能選擇1-5。 \n");
			  	  break;
			  	 }
			     }
			    }
			else if (sign1==2) 
				{L=B;
				 cb=1;
			 while (cb)
			   {printf("\t 請選擇對B鏈表進行的操作:\n 1:建立鏈表 \n 2:對鏈表排序 \n 3:在鏈表中插入元素 \n 4:在鏈表中刪除元素 \n 5:返回上一級菜單 \n 您的選擇是:");
				scanf("%d",&signb);
	            switch(signb)
	             {
		          case 1:
			          printf("\n請輸入鏈表元素(輸入0結束)\n");
			          CreatList(B);
			          PrintList(B);
					  break;
		          case 2:
					  printf("對B鏈表進行排序,結果為:\n ");
			          paixu(B);
                      PrintList(B);
					  break;
				  case 3:
			          printf("請輸入想要插入的位置及插入的數值(以逗號分隔): ");
			          scanf("%d,%d",&i,&x);
			          if (ListInsert_L(L,i,x)==1)
				        {printf("修改成功!目前B鏈表為:\n");
			             PrintList(L);}
                      else 
			            printf("警告!您輸入的插入位置超過鏈表長度。 \n");
			  			break;
			  	  case 4:
			  	      printf("請輸入想要刪除的元素位置: ");
			          scanf("%d",&i);
			          if (ListDelete_L(L,i)==1)
				        {printf("刪除元素成功!目前B鏈表為:\n");
			             PrintList(L);}
                      else 
			            printf("警告!您輸入的刪除位置超過鏈表長度。 \n");
			  			break;
			  	  case 5: 
			  	       cb=0;
			  	       break;
			  	  default: 
			  	  printf("警告!只能選擇1-5。 \n");
			  	  break;
			  	 }
			     }
				}
				
			else if (sign1==3) 
				{cc=1;
			     while (cc)
			      {printf("\t 請選擇操作的名稱:\n 1:顯示當前的A、B鏈表 \n 2:進行差運算 \n 3:進行交運算 \n 4:進行并運算 \n 5:返回上一級菜單 \n 您的選擇是:");
				   scanf("%d",&signc);
	               switch(signc)
	                {
		             case 1:
		                 printf(" \n 當前A");
		                 PrintList(A);
		                 printf(" \n 當前B");
		                 PrintList(B);
		                 break;
		             case 2:
				         p=B->next;
                       while(p)
                        {if (!inter(A,p->data))
                         {m=(Lnode *)malloc(sizeof(Lnode));
                          m->data=p->data;
                          m->next=C->next;
                          C->next=m;
                         }
                         p=p->next;
                        }
                       printf(" \n 進行差運算,結果為:\n");
                       PrintList(C);
			           C=(Lnode *)malloc(sizeof(Lnode)); /*必須再分配一次地址空間以用來把原鏈表清空,否則每次運行都會使鏈表元素增加*/
			           break;
                     case 3:
			             p=B->next;
                       while(p)
                        {if (inter(A,p->data))
                         {q=(Lnode *)malloc(sizeof(Lnode));
                          q->data=p->data;
                          q->next=D->next;
                          D->next=q;
                         }
                         p=p->next;
                        }
                       printf(" \n 進行交運算,結果為:\n");
                       PrintList(D);
                       D=(Lnode *)malloc(sizeof(Lnode));
                       break;
		             case 4:
			             *E=*A;
                         p=B->next;
                       while(p)
                        {if (!inter(E,p->data))
                         {n=(Lnode *)malloc(sizeof(Lnode));
                          n->data=p->data;
                          n->next=E->next;
                          E->next=n;
                         }
                         p=p->next;
                        }
                       printf(" \n 進行并運算,結果為:\n");
                       PrintList(E);
                       E=(Lnode *)malloc(sizeof(Lnode));
                       break;		
			         case 5:
			             cc=0;
			             break;
			         default: 
			  	       printf("警告!只能選擇1-5。 \n");
			  	       break;
	                }
			      }
			     }
			else if (sign1==4) 
			{
			 printf("謝謝使用,請按任意鍵退出!\n");
			 break;
			}
	 	    else
	 	     {printf("提示:僅能在1-4之間選擇!\n");
			  break;
	 	     }
	 	   }
	
	return 0;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人一级片网址| 中文字幕在线播放不卡一区| 久久精品一区八戒影视| 亚洲免费电影在线| 国产精品正在播放| 欧美精品乱人伦久久久久久| 中文字幕精品—区二区四季| 日本三级亚洲精品| 91久久奴性调教| 中文字幕欧美国产| 九九**精品视频免费播放| 欧美日韩国产三级| 亚洲人成人一区二区在线观看 | 日本不卡在线视频| 一本一本久久a久久精品综合麻豆| 日韩欧美精品三级| 午夜av一区二区三区| 91久久香蕉国产日韩欧美9色| 国产精品久久久久毛片软件| 国产精品 欧美精品| 精品99999| 久草精品在线观看| 精品免费国产二区三区| 久久精品国产99| 欧美不卡一二三| 美女视频黄频大全不卡视频在线播放 | 亚洲高清免费观看 | 成人性生交大合| 久久网站热最新地址| 麻豆精品久久精品色综合| 日韩欧美一级二级三级| 日韩精品一卡二卡三卡四卡无卡| 欧美日韩国产区一| 天堂蜜桃91精品| 精品久久一二三区| 国产伦精品一区二区三区在线观看| 欧美电影精品一区二区| 美女在线视频一区| 精品国产乱码久久久久久图片 | 久久久精品一品道一区| 久草在线在线精品观看| 久久婷婷国产综合精品青草 | 欧美日韩专区在线| 午夜国产不卡在线观看视频| 日韩一二三区视频| 九一久久久久久| 亚洲欧洲精品一区二区三区| 一本到高清视频免费精品| 亚洲国产一区二区视频| 日韩精品中文字幕一区| 国产精华液一区二区三区| 国产精品久久午夜夜伦鲁鲁| 欧美色综合天天久久综合精品| 天堂蜜桃91精品| 亚洲国产高清在线观看视频| 在线观看亚洲精品视频| 日韩**一区毛片| 国产精品每日更新在线播放网址| 91影院在线免费观看| 五月天亚洲精品| 国产天堂亚洲国产碰碰| 色综合一区二区三区| 天使萌一区二区三区免费观看| 亚洲精品在线观看视频| 91视频精品在这里| 久久精品国产秦先生| 一区视频在线播放| 日韩一级欧美一级| 日本韩国视频一区二区| 久久福利资源站| 一区二区成人在线| 久久综合中文字幕| 欧美无砖专区一中文字| 国产高清在线精品| 丝袜亚洲另类欧美| 亚洲美女淫视频| 国产亚洲欧洲一区高清在线观看| 色婷婷精品大视频在线蜜桃视频| 麻豆成人免费电影| 一区二区三区在线观看国产| 久久精品亚洲国产奇米99| 欧美三级乱人伦电影| 99精品在线观看视频| 韩国v欧美v亚洲v日本v| 午夜伦理一区二区| 亚洲日本一区二区| 国产日韩三级在线| 日韩精品在线网站| 欧美女孩性生活视频| 91麻豆swag| 成人精品一区二区三区四区 | 日韩国产欧美三级| 免费高清成人在线| 亚洲成在线观看| 91污片在线观看| 国产原创一区二区| 日本免费在线视频不卡一不卡二| 伊人婷婷欧美激情| 国产精品久久久久久亚洲毛片| 久久亚洲精品小早川怜子| 91麻豆精品91久久久久久清纯| 91久久精品午夜一区二区| av资源站一区| av影院午夜一区| 成人黄色综合网站| 国产高清亚洲一区| 成人视屏免费看| 成人免费黄色大片| 99视频有精品| 91麻豆国产自产在线观看| 一本久久a久久精品亚洲| 色八戒一区二区三区| 99精品欧美一区二区蜜桃免费 | 日韩毛片高清在线播放| 国产精品午夜电影| 国产精品污污网站在线观看| 国产网红主播福利一区二区| 国产婷婷精品av在线| 欧美国产欧美综合| 亚洲日本va午夜在线电影| 一区在线中文字幕| 一区二区三区欧美视频| 午夜视黄欧洲亚洲| 久久国产免费看| 国产不卡在线视频| 成+人+亚洲+综合天堂| 日本久久一区二区| 欧美男女性生活在线直播观看| 欧美一级久久久| 久久蜜桃av一区精品变态类天堂 | www国产成人免费观看视频 深夜成人网| 日韩久久精品一区| 亚洲国产精品国自产拍av| 国产精品国产三级国产aⅴ原创| 综合欧美亚洲日本| 丝袜亚洲另类欧美| 国产成人综合自拍| 99久久国产综合精品麻豆| 欧美日韩aaaaa| 国产女主播视频一区二区| 18成人在线观看| 日本亚洲三级在线| 成人一区二区三区视频在线观看| 日本高清不卡在线观看| 欧美一区二区三区喷汁尤物| 国产精品区一区二区三区| 一区二区三区欧美激情| 久久aⅴ国产欧美74aaa| 91在线精品一区二区三区| 555夜色666亚洲国产免| 中文在线一区二区| 日韩高清在线电影| 99精品欧美一区| 久久这里只有精品首页| 亚洲精品免费在线观看| 国产一区二区三区免费看| 91女神在线视频| www国产精品av| 日韩福利视频网| 97国产一区二区| 精品国产精品一区二区夜夜嗨| 亚洲视频一区二区在线观看| 美国av一区二区| 欧美在线观看视频在线| 欧美国产一区二区| 狠狠色丁香婷婷综合| 在线一区二区三区四区五区| 久久久青草青青国产亚洲免观| 亚洲成a人v欧美综合天堂下载| 丰满放荡岳乱妇91ww| 日韩小视频在线观看专区| 怡红院av一区二区三区| 成人国产一区二区三区精品| 欧美大尺度电影在线| 亚洲一卡二卡三卡四卡无卡久久 | 久久99精品久久久久婷婷| 色偷偷成人一区二区三区91 | www日韩大片| 美女mm1313爽爽久久久蜜臀| 欧美色成人综合| 日韩毛片精品高清免费| 成人免费观看视频| 日本一区二区免费在线 | 国产欧美综合在线观看第十页| 麻豆精品在线播放| 91精品国产麻豆| 日本亚洲视频在线| 欧美人与性动xxxx| 亚洲mv大片欧洲mv大片精品| 97精品超碰一区二区三区| 国产精品的网站| 91蜜桃婷婷狠狠久久综合9色| 亚洲国产精品精华液2区45| 国产高清精品在线| 国产日韩影视精品| av午夜一区麻豆| 综合激情网...| 91精彩视频在线观看| 一二三四区精品视频| 欧美三级韩国三级日本三斤 |