亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

C語言之單鏈表的插入、刪除與查找

2020-05-23 14:17:35
字體:
來源:轉載
供稿:網友

本篇文章主要介紹了從單鏈表的創建、遍歷到節點的插入、刪除與查找功能的實現,有需要的朋友可以參考下

單鏈表是一種鏈式存取的數據結構,用一組地址任意的存儲單元存放線性表中的數據元素。要實現對單鏈表中節點的插入、刪除與查找的功能,就要先進行的單鏈表的初始化、創建和遍歷,進而實現各功能,以下是對單鏈表節點的插入、刪除、查找功能的具體實現:

 

 
  1. #include<stdio.h> 
  2. #include<stdlib.h> 
  3. #include<string.h> 
  4.  
  5. typedef int ElemType; 
  6.  
  7. /** 
  8. *鏈表通用類型 
  9. *ElemType 代表自定義的數據類型  
  10. *struct Node *next 代表 結構體指針(指向下一個結構體,完成鏈表動作)  
  11. */ 
  12. typedef struct Node{ 
  13. ElemType data; 
  14. struct Node *next; 
  15. }Node;  
  16.  
  17. /*==========單鏈表的初始化================*/ 
  18. /* 
  19. *頭結點指針數據域設置為空  
  20. */ 
  21. void initList(Node **pNode){ 
  22. *pNode=NULL; 
  23. /*===========單鏈表的創建=================*/ 
  24. /* 
  25. *功能實現:通過用戶不斷輸入數據,創建鏈表 
  26. *利用游標倆個指針(p1,p2),將申請下的數據塊(存入用戶輸入數據),鏈接起來  
  27. */ 
  28. Node *create(Node *pHead){ 
  29. Node *p1; 
  30. Node *p2; 
  31. p1=p2=(Node *)malloc(sizeof(Node)); //申請內存空間  
  32. memset(p1,0,sizeof(Node)); //存入數據域清空  
  33. scanf("%d",&p1->data); 
  34. p1->next=NULL;  
  35. while(p1->data>0){ //輸入負數結束  
  36. if(pHead==NULL) 
  37. pHead=p1; 
  38. else 
  39. p2->next=p1; 
  40. p2=p1; 
  41. p1=(Node *)malloc(sizeof(Node)); 
  42. memset(p1,0,sizeof(Node)); 
  43. scanf("%d",&p1->data); 
  44. p1->next=NULL; 
  45. return pHead; 
  46. /*=================鏈表的遍歷==================*/ 
  47. /** 
  48. *從頭結點開始,不斷遍歷出數據域的內容將表遍歷  
  49. */ 
  50. void printList(Node *pHead){ 
  51. if(NULL==pHead) 
  52. printf("鏈表為空/n"); 
  53. else
  54. while(pHead!=NULL){ 
  55. printf("%d ",pHead->data); 
  56. pHead=pHead->next; 
  57. }  
  58. printf("/n"); 
  59. }  
  60. /*===============插入節點==================*/ 
  61. /** 
  62. *Node **pNode 傳入頭結點空間地址 
  63. *int i 傳入要插入的結點位置  
  64. */ 
  65. void insert_data(Node **pNode,int i){ 
  66. Node *temp; 
  67. Node *target; 
  68. Node *p; 
  69. int item; 
  70. int j=1; 
  71. printf("輸入要插入的節點值:"); 
  72. scanf("%d",&item); 
  73. target=*pNode;  
  74. for(;j<i-1;target=target->next,++j); //不斷移動target位置,到要插入結點位置,  
  75. temp=(Node *)malloc(sizeof(Node)); //申請內存空間  
  76. temp->data=item; //存入要存入的數據位置  
  77. p=target->next;  
  78. target->next=temp; 
  79. temp->next=p;  
  80. }  
  81. /*===============刪除節點====================*/ 
  82. /** 
  83. *刪除結點后,釋放內存空間free(temp)  
  84. */ 
  85. void delete_data(Node **pNode,int i){ 
  86. Node *target; 
  87. Node *temp; 
  88. int j=1; 
  89. target=*pNode; 
  90. for(;j<i-1;target=target->next,++j); 
  91. temp=target->next; 
  92. target->next=temp->next; 
  93. free(temp); 
  94. /*===============查找結點====================*/ 
  95. int search_data(Node *pNode,int elem){ 
  96. Node *target; 
  97. int i=1; 
  98. for(target=pNode;target->data!=elem && target->next!=NULL;++i,target=target->next); 
  99. if(target->next==NULL) 
  100. return 0; 
  101. else 
  102. return i; 
  103.  
  104. }  
  105. int main(){ 
  106. int i; 
  107. Node *pHead=NULL; 
  108. initList(&pHead); 
  109. pHead=create(pHead); 
  110. printList(pHead); 
  111. printf("輸入插入節點位置/n"); 
  112. scanf("%d",&i); 
  113. insert_data(&pHead,i); 
  114. printList(pHead); 
  115. printf("輸入刪除節點位置/n"); 
  116. scanf("%d",&i); 
  117. delete_data(&pHead,i); 
  118. printList(pHead); 
  119. printf("輸入查找節點/n"); 
  120. scanf("%d",&i); 
  121. printf("節點所在位置:%d",search_data(pHead,i)); 
  122. return 0; 

C語言之單鏈表的插入、刪除與查找

通過以上各功能的實現,希望對大家單鏈表的學習有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久久久com| 日韩av手机在线| 国产日韩欧美黄色| 午夜剧场成人观在线视频免费观看| 亚洲少妇激情视频| 精品一区二区三区四区| 亚洲国产精品资源| 国产成人自拍视频在线观看| 国产精品第七影院| 日韩视频免费中文字幕| 日本一区二区三区四区视频| 91精品国产综合久久久久久蜜臀| 一道本无吗dⅴd在线播放一区| 精品国产户外野外| 欧美另类高清videos| 亚洲人成欧美中文字幕| 久久九九亚洲综合| 亚洲国产日韩欧美在线图片| 美女视频黄免费的亚洲男人天堂| 成人精品久久av网站| 欧美韩国理论所午夜片917电影| 大荫蒂欧美视频另类xxxx| 欧美一级免费视频| 国产日韩欧美另类| 国产剧情久久久久久| 久热爱精品视频线路一| 欧美精品videos另类日本| 日韩最新免费不卡| 日韩一区二区三区在线播放| 国产亚洲精品美女久久久久| 国产欧美日韩视频| 日韩在线中文视频| 性视频1819p久久| 亚洲最大福利网站| 亚洲人午夜精品免费| 国产日本欧美在线观看| 一区三区二区视频| 97在线日本国产| 国产丝袜视频一区| 九九九久久国产免费| 国产成人精品国内自产拍免费看| 欧美一级视频在线观看| 久久中国妇女中文字幕| 日本欧美精品在线| 日韩在线观看电影| 国产九九精品视频| 欧美日韩在线一区| 欧美日韩亚洲天堂| 中文字幕亚洲综合久久| 国产成人久久精品| 国产91ⅴ在线精品免费观看| 欧美视频国产精品| 欧美激情亚洲视频| 国产精品久久久久久久久久免费| 北条麻妃久久精品| 亚洲在线www| 色综合久久悠悠| 亚洲性生活视频在线观看| 日韩一中文字幕| 久久中文久久字幕| 国产精品狼人色视频一区| 在线观看欧美日韩国产| 久久99精品久久久久久琪琪| 欧美视频中文字幕在线| 亚洲xxxxx性| 成人av资源在线播放| 国产亚洲激情在线| 亚洲人成在线观| 欧美精品久久久久| 亚洲人成在线播放| 国产精品久久久久77777| 欧美二区在线播放| 国产69精品99久久久久久宅男| 久久久久久久久久久网站| 亚洲天堂av在线免费观看| 亚洲精品网站在线播放gif| 欧美大尺度电影在线观看| 欧美精品18videos性欧美| 欧美第一页在线| 中文字幕一区二区三区电影| 亚洲精品日韩欧美| 久久成人精品电影| 成人黄色在线免费| 成人黄色大片在线免费观看| 亚洲性夜色噜噜噜7777| 伊人青青综合网站| 日本精品久久中文字幕佐佐木| 色青青草原桃花久久综合| 亚洲偷熟乱区亚洲香蕉av| 黄色成人av网| 国产日韩欧美91| 97人人模人人爽人人喊中文字| 久久手机精品视频| 亚洲人成电影在线观看天堂色| 亚洲精品国产福利| 欧美激情国产精品| 91老司机精品视频| www.美女亚洲精品| 亚洲精品xxx| 一区二区福利视频| 亚洲欧洲黄色网| 欧美精品18videos性欧美| 亚洲精品国精品久久99热| 国产精品久久久久久久午夜| 精品成人69xx.xyz| 精品露脸国产偷人在视频| 中文字幕成人精品久久不卡| 欧美在线欧美在线| 狠狠爱在线视频一区| 成人欧美在线观看| www.久久久久| 成人黄色大片在线免费观看| 亚洲另类xxxx| 亚洲国产一区二区三区四区| 久久精品国产亚洲精品| 91成人国产在线观看| 91高清视频免费观看| 精品久久香蕉国产线看观看亚洲| 亚洲成人精品视频在线观看| 国产日韩欧美在线| 亚洲成人黄色在线观看| 亚洲激情自拍图| 欧美视频一区二区三区…| 亚洲美女精品成人在线视频| 亚洲精品国产美女| 琪琪第一精品导航| 亚洲激情自拍图| 一本色道久久综合狠狠躁篇怎么玩| 亚洲性日韩精品一区二区| 亚洲国产成人久久综合一区| 第一福利永久视频精品| 亚洲福利视频在线| 欧美在线www| 久久精品夜夜夜夜夜久久| 精品精品国产国产自在线| 久久夜色精品国产欧美乱| 久久久国产精品免费| 精品国产91久久久久久| 欧美另类极品videosbestfree| 国产视频在线观看一区二区| 亚洲欧美精品一区二区| 成人a免费视频| 国产午夜精品全部视频在线播放| 欧美成人免费视频| 国产欧美韩国高清| 久久综合免费视频| 欧美疯狂xxxx大交乱88av| 91欧美日韩一区| 亚洲激情久久久| 日韩视频免费在线| 国产日韩换脸av一区在线观看| 国产精品老女人精品视频| 91香蕉嫩草影院入口| 少妇av一区二区三区| 日本精品免费观看| 91精品国产91久久久久| 一夜七次郎国产精品亚洲| 国产在线一区二区三区| 欧美在线影院在线视频| 日韩欧美中文第一页| 亚洲最新在线视频| 国产美女被下药99| 日韩欧美高清在线视频| 欧美成人午夜视频|