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

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

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

2020-05-23 13:48:38
字體:
來源:轉載
供稿:網友

數據結構  雙向鏈表的實現

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

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

//雙向鏈表的類型描述 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
国产精品国模在线| 欧美裸体男粗大视频在线观看| 欧美小视频在线| 久久视频免费在线播放| 欧美激情在线有限公司| 亚洲女人天堂成人av在线| 日韩免费av一区二区| 欧美日韩免费网站| 久久天天躁狠狠躁夜夜躁2014| 久热在线中文字幕色999舞| 日韩成人小视频| 欧美在线精品免播放器视频| 日韩精品免费综合视频在线播放| 欧美激情va永久在线播放| 97视频在线观看免费高清完整版在线观看| 美女扒开尿口让男人操亚洲视频网站| 国产成人精品综合| 欧美电影免费看| 在线丨暗呦小u女国产精品| 日韩有码在线视频| 国产精品一区二区在线| 91精品免费视频| 欧美成人合集magnet| 欧美一性一乱一交一视频| 国产成人综合精品在线| 亚洲美女又黄又爽在线观看| 51久久精品夜色国产麻豆| 国产精品av免费在线观看| 色综合视频网站| 57pao国产成人免费| 国产欧美久久久久久| 日韩中文在线中文网在线观看| 国产精品自产拍高潮在线观看| 亚洲精品一区二区三区婷婷月| 秋霞av国产精品一区| 久久久国产一区二区三区| 精品人伦一区二区三区蜜桃免费| 亚洲国产精品va在线看黑人动漫| 欧美日韩国产中文精品字幕自在自线| 成人精品一区二区三区| 国产精品福利观看| 久久久久久成人| 国产伦精品免费视频| 亚洲缚视频在线观看| 91tv亚洲精品香蕉国产一区7ujn| 亚洲18私人小影院| 日韩av有码在线| 日韩的一区二区| 亚洲xxxx在线| 日韩欧美在线看| 日韩欧美中文字幕在线播放| 成人欧美一区二区三区在线| 国产在线播放91| 日韩精品日韩在线观看| 欧美激情中文网| 亚洲欧美国产精品va在线观看| 亚洲另类激情图| 亚洲电影免费观看高清完整版在线| 永久免费看mv网站入口亚洲| 欧美日韩在线看| 亚洲美女性视频| 伦伦影院午夜日韩欧美限制| 亚洲视频专区在线| 日韩激情av在线免费观看| 欧美激情一区二区三区在线视频观看| 亚州欧美日韩中文视频| 国产专区精品视频| 欧美一级电影免费在线观看| 亚洲精品久久久久中文字幕欢迎你| 欧美成人免费观看| 国产精品91久久久久久| 亚洲欧美激情精品一区二区| 91精品免费视频| 久久久91精品国产一区不卡| 国产精品一区二区三| 精品毛片网大全| 久久精品99久久香蕉国产色戒| 国产精品一区二区久久| 久久人人看视频| 亚洲精品久久久久中文字幕欢迎你| 欧美性猛交xxxx| 久久777国产线看观看精品| 在线视频亚洲欧美| 欧洲成人午夜免费大片| 国产亚洲欧洲高清| 国产亚洲视频中文字幕视频| 国产日韩精品视频| 在线丨暗呦小u女国产精品| 国产成人啪精品视频免费网| 2019中文字幕免费视频| 亚洲大胆人体视频| 青青青国产精品一区二区| 欧美xxxx综合视频| 国产成人精品视频在线| 国产精品久久久久久久久久久不卡| 亚洲男人av在线| 亚洲人成在线观| 亚洲精品小视频在线观看| 综合欧美国产视频二区| 国内精品免费午夜毛片| 国产精品手机播放| 成人在线一区二区| 成人xvideos免费视频| 国产成人在线播放| 91视频九色网站| 日韩一区二区欧美| 在线精品播放av| 亚州国产精品久久久| 亚洲中国色老太| 日本不卡视频在线播放| 国产成人av网址| 欧美日韩中国免费专区在线看| 亚洲精品国产综合久久| 国产精品视频免费在线观看| 日韩美女av在线| 亚洲男人天堂久| 日韩精品中文字幕视频在线| 中日韩午夜理伦电影免费| 日韩高清av一区二区三区| 一区二区三区四区精品| 亚洲美女又黄又爽在线观看| 日本中文字幕久久看| 欧美电影免费观看高清| 久久视频在线免费观看| 日本电影亚洲天堂| 亚洲a成v人在线观看| 色诱女教师一区二区三区| 国产精品日韩久久久久| 亚洲高清免费观看高清完整版| 国产婷婷成人久久av免费高清| 国产精品久久久久久久久免费看| 亚洲色图狂野欧美| 精品国产一区久久久| 精品欧美一区二区三区| 91日本在线视频| 精品国内自产拍在线观看| 欧美亚洲激情在线| 国产精品视频久久久| 欧美一乱一性一交一视频| 国产成人在线一区| 国产啪精品视频网站| 欧美一级成年大片在线观看| 国产亚洲欧美日韩精品| 欧美日韩视频免费播放| 欧美一级淫片aaaaaaa视频| 国产精品盗摄久久久| 欧美理论电影网| 精品国产网站地址| 俺去了亚洲欧美日韩| 国产亚洲欧美日韩美女| 亚洲精品久久久久中文字幕二区| 狠狠躁夜夜躁人人爽天天天天97| 国产成人精品国内自产拍免费看| 色综合久久中文字幕综合网小说| 九九精品视频在线| 欧美成aaa人片免费看| 中文字幕亚洲情99在线| 欧美精品videos性欧美| 色综合伊人色综合网站| 日韩av不卡在线| 91在线精品视频| 成人淫片在线看| 国产亚洲精品高潮| 欧美一区深夜视频|