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

首頁 > 編程 > C > 正文

C語言實現數據結構和雙向鏈表操作

2020-01-26 14:13:23
字體:
來源:轉載
供稿:網友

數據結構  雙向鏈表的實現

雙向鏈表中的每一個結點都含有兩個指針域,一個指針域存放其后繼結點的存儲地址,另一個指針域則存放其前驅結點的存儲地址。

雙向鏈表結點的類型描述:

//雙向鏈表的類型描述 typedef int ElemType; typedef struct node{  ElemType data;  struct node *prior,*next; }DuLNode,*DuLinkList; 
  

 其中,prior域存放的是其前驅結點的存儲地址,next域存放的是其后繼結點的存儲地址。

雙向鏈表有兩個特點:

一是可以從兩個方向搜索某個結點,這使得鏈表的某些操作(如插入和刪除)變得比較簡單; 二是無論利用前鏈還是后鏈都可以遍歷整個雙向鏈表。

        雙向鏈表的操作基本和單鏈表的操作相同;

        1. 頭插法創建帶頭結點的雙向鏈表Create_DLinkListF(int n)

//頭插法創建帶頭結點的雙向鏈表 DuLinkList Create_DLinkListF(int n){  DuLinkList L,p;  int i = n - 1;  ElemType x;  //新建頭結點  L = (DuLinkList)malloc(sizeof(DuLNode));  L->prior = NULL;  L->next = NULL;   //添加第一個結點  scanf("%d",&x);  p = (DuLinkList)malloc(sizeof(DuLNode));  p->data = x;  L->next = p;  p->prior = L;  p->next = NULL;   //加入其他結點  while(i > 0){  scanf("%d",&x);  p = (DuLinkList)malloc(sizeof(DuLNode));  p->data = x;   p->next = L->next;  L->next->prior = p;  p->prior = L;  L->next = p;   i--;  }  return L; } 

         2. 尾插法創建帶頭結點的雙向鏈表Create_DLinkListR(int n)

//尾插法創建帶頭結點的雙向鏈表 DuLinkList Create_DLinkListR(int n){  DuLinkList L,p,lastNode;  int i = n - 1;  ElemType x;  //新建頭結點  L = (DuLinkList)malloc(sizeof(DuLNode));  L->prior = NULL;  L->next = NULL;   //添加第一個結點  scanf("%d",&x);  p = (DuLinkList)malloc(sizeof(DuLNode));  p->data = x;  L->next = p;  p->prior = L;  p->next = NULL;   lastNode = p;  //加入其他結點  while(i > 0){  scanf("%d",&x);  p = (DuLinkList)malloc(sizeof(DuLNode));  p->data = x;   lastNode->next = p;  p->prior = lastNode;  p->next = NULL;   lastNode = p;  i--;   }  return L;  } 
    

3. 在指定結點之前插入新結點Insert_DLinkListBefore(DuLinkList p,ElemType x)

//在指定結點之前插入新結點 void Insert_DLinkListBefore(DuLinkList p,ElemType x){  DuLinkList newNode;  //判斷結點p之前的結點的合法性:  if(p->prior == NULL)  printf("結點不合法,不能在該結點之前插入結點/n");  else{  newNode = (DuLinkList)malloc(sizeof(DuLNode));  newNode->data = x;   newNode->next = p;  p->prior->next = newNode;  newNode->prior = p->prior;  p->prior = newNode;  } } 

4. 在指定結點之后插入新結點Insert_DLinkListAfter(DuLinkList p,ElemType x)

//在指定結點之后插入新結點 void Insert_DLinkListAfter(DuLinkList p,ElemType x){   DuLinkList newNode;  newNode = (DuLinkList)malloc(sizeof(DuLNode));  newNode->data = x;   //當插入位置是最后一個結點之后時  if(p->next == NULL){  p->next = newNode;  newNode->prior = p;  newNode->next = NULL;  }  else{  newNode->next = p->next;  p->next->prior = newNode;  p->next = newNode;  newNode->prior = p;  } } 

5. 刪除指定結點Delete_DLinkList(DuLinkList p)

//刪除指定結點 void Delete_DLinkList(DuLinkList p){  //如果刪除的是最后一個元素  if(p->next == NULL)  p->prior->next = NULL;   else{  p->prior->next = p->next;  p->next->prior = p->prior;   }  free(p); } 

6. 后鏈輸出雙向鏈表Print_DLinkListN(DuLinkList L)

//后鏈輸出雙向鏈表 void Print_DLinkListN(DuLinkList p){   while(p != NULL){  printf("%d/t",p->data);  p = p->next;  }  printf("/n");  } 

  7.前鏈輸出雙向鏈表Print_DLinkListP(DuLinkList p)

//前鏈輸出雙向鏈表 void Print_DLinkListP(DuLinkList p){   while(p != NULL){  printf("%d/t",p->data);  p = p-prior;  }  printf("/n"); }  

至于雙向鏈表的其他操作,如定位,和單鏈表的操作類同,不再贅述。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久国产精品一区| 日韩欧美黄色动漫| 久久99精品久久久久久青青91| 欧美性xxxxx极品| 亚洲有声小说3d| 欧美一区二区三区免费观看| 日韩av综合网站| 国产日产亚洲精品| www.欧美精品一二三区| 久久久电影免费观看完整版| 在线观看精品自拍私拍| 日韩av在线影院| 精品日本高清在线播放| 日韩网站免费观看| 红桃视频成人在线观看| 日韩av在线免费播放| 国产精品99免视看9| 日韩黄色高清视频| 91精品国产网站| 97视频在线观看免费| 午夜精品一区二区三区在线视频| 91超碰caoporn97人人| 国产精品扒开腿做爽爽爽男男| 成人精品久久久| 国产日产亚洲精品| 国产精品久久久久91| 久热在线中文字幕色999舞| 色偷偷噜噜噜亚洲男人| 欧美精品一本久久男人的天堂| 91精品国产777在线观看| 91精品久久久久久久久中文字幕| 在线观看亚洲区| 伊人久久大香线蕉av一区二区| 美女av一区二区三区| 毛片精品免费在线观看| 欧美性生活大片免费观看网址| 欧美一级片久久久久久久| 精品女厕一区二区三区| 亚洲激情视频网| 亚洲人高潮女人毛茸茸| 亚洲精品电影在线| 亚洲视频在线免费看| 欧美区在线播放| 久久99视频精品| 久久频这里精品99香蕉| 国产精品福利久久久| 国产成人鲁鲁免费视频a| 日韩在线免费视频观看| 亚洲精品视频久久| 国产综合香蕉五月婷在线| 亚洲一区二区少妇| 91精品在线观| 亚洲国产成人在线播放| 亚洲人成77777在线观看网| 日韩在线视频免费观看| 亚洲已满18点击进入在线看片| 成人高清视频观看www| 精品国产精品自拍| 成人av资源在线播放| 国产精品女人网站| 国产欧美日韩丝袜精品一区| 欧美亚州一区二区三区| 欧美在线视频免费播放| 国产精品视频专区| 国产精品视频久久| 2019亚洲日韩新视频| 国产精品久久久久久影视| 久久亚洲精品一区二区| 欧美亚洲视频在线观看| 欧美性视频网站| 97在线免费观看| 久久精品99国产精品酒店日本| 成人写真视频福利网| 午夜精品久久17c| 亚洲精品大尺度| 最近2019年中文视频免费在线观看| 国产亚洲精品激情久久| 欧美最近摘花xxxx摘花| 久久久久这里只有精品| 97香蕉久久夜色精品国产| 成人免费xxxxx在线观看| 中文字幕无线精品亚洲乱码一区| 中文字幕免费精品一区高清| 91国产精品视频在线| 免费91在线视频| 主播福利视频一区| 91精品视频免费| 日韩欧美一区视频| 精品人伦一区二区三区蜜桃免费| 久久久久久久久久国产| 亚洲精品自拍第一页| 精品久久久久久久大神国产| 亚洲毛片一区二区| 欧美一级免费看| 奇米影视亚洲狠狠色| 色偷偷888欧美精品久久久| 欧美亚洲免费电影| 精品综合久久久久久97| 国产高清在线不卡| 91久久精品视频| 成人av.网址在线网站| 久久精品亚洲国产| 国产精品高清免费在线观看| 国产精品久久久久久久9999| 精品偷拍各种wc美女嘘嘘| 亚洲日本成人网| 日韩av中文字幕在线播放| 欧美午夜精品久久久久久久| 国产精品福利在线观看| 欧美巨猛xxxx猛交黑人97人| 日韩精品中文字幕在线播放| 欧美专区在线播放| 欧美日韩成人免费| 最近2019中文字幕mv免费看| 日韩欧美一区二区三区久久| 亚洲精品97久久| 国产成人涩涩涩视频在线观看| 亚洲成人av资源网| 亚洲女人天堂色在线7777| 亚洲第一黄色网| 欧美xxxx14xxxxx性爽| 欧美精品www在线观看| 久久成人国产精品| 日韩精品中文字幕在线播放| 国产成人一区三区| 欧美国产一区二区三区| 在线视频国产日韩| 亚洲男人7777| 日韩亚洲第一页| 久久欧美在线电影| 日韩视频免费在线| 欧美资源在线观看| 亚州欧美日韩中文视频| 亚洲视频axxx| 日韩欧亚中文在线| 国产精品大陆在线观看| 欧美另类在线播放| 91亚洲精品久久久久久久久久久久| 亚洲视频专区在线| 国产精品永久免费视频| 青青久久av北条麻妃黑人| 91久久久久久久一区二区| 国产精品美女免费看| 欧美巨乳美女视频| 亚洲国产精品yw在线观看| 中文字幕精品网| 在线激情影院一区| 日韩精品亚洲视频| xxxx性欧美| 韩剧1988在线观看免费完整版| 性金发美女69hd大尺寸| 中文字幕在线成人| 在线看日韩欧美| 欧美黑人一区二区三区| 精品亚洲一区二区三区在线观看| 日韩av最新在线| 福利一区视频在线观看| 国产精品美女在线| 国产精品吴梦梦| 亚洲人成欧美中文字幕| 亚洲人免费视频| 自拍偷拍亚洲欧美| 亚洲成人动漫在线播放| 中文字幕一区二区三区电影|