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

首頁 > 網站 > 幫助中心 > 正文

單鏈表實現反轉的3種方法示例代碼

2024-07-09 22:41:28
字體:
來源:轉載
供稿:網友

前言

單鏈表的操作是面試中經常會遇到的問題,今天總結一下反轉的幾種方案:

1 ,兩兩對換

2, 放入數組,倒置數組

3, 遞歸實現

代碼如下:

#include<stdio.h>#include<malloc.h>typedef struct Node{ int data; struct Node *pnext;} Node,*pnode;pnode CreateNode(){ pnode phead=(pnode)malloc(sizeof(Node)); if(phead==NULL) {  printf("fail to allocate memory");  return -1; } phead->pnext=NULL; int n; pnode ph=phead; for(int i=0; i<5; i++) {  pnode p=(pnode)malloc(sizeof(Node));  if(p==NULL)  {   printf("fail to allocate memory");   return -1;  }  p->data=(i+2)*19;  phead->pnext=p;  p->pnext=NULL;  phead=phead->pnext; } return ph;}int list(pnode head){ int count=0; printf("遍歷結果:/n"); while(head->pnext!=NULL) {  printf("%d/t",head->pnext->data);  head=head->pnext;  count++; } printf("鏈表長度為:%d/n",count); return count;}pnode reverse2(pnode head)//兩兩節點之間不斷交換{ if(head == NULL || head->next == NULL) return head; pnode pre = NULL; pnode next = NULL; while(head != NULL){  next = head->next;  head->next = pre;  pre = head;  head = next;} return pre;}void reverse1(pnode head,int count)//把鏈表的節點值放在數組中,倒置數組{ int a[5]= {0}; for(int i=0; i<count,head->pnext!=NULL; i++) {  a[i]=head->pnext->data;  head=head->pnext; } for(int j=0,i=count-1; j<count; j++,i--)  printf("%d/t",a[i]);}pnode reverse3(pnode pre,pnode cur,pnode t)//遞歸實現鏈表倒置{ cur -> pnext = pre; if(t == NULL)  return cur; //返回無頭節點的指針,遍歷的時候注意 reverse3(cur,t,t->pnext);}pnode new_reverse3(pnode head){ //新的遞歸轉置 if(head == NULL || head->next == NULL)  return head; pnode new_node = new_reverse3(head->next); head->next->next = head; head->next = NULL; return new_node; //返回新鏈表頭指針}int main(){ pnode p=CreateNode(); pnode p3=CreateNode(); int n=list(p); printf("1反轉之后:/n"); reverse1(p,n); printf("/n"); printf("2反轉之后:/n"); pnode p1=reverse2(p); list(p1); p3 -> pnext = reverse3(NULL,p3 -> pnext,p3->pnext->pnext); printf("3反轉之后:/n"); list(p3); free(p); free(p1); free(p3); return 0;}

毫無疑問,遞歸是解決的最簡單方法,四行就能解決倒置問題。

思路參考:https://www.jb51.net/article/156043.htm

這里注意: head ->next = pre; 以及 pre = head->next,前者把head->next 指向 pre,而后者是把head->next指向的節點賦值給pre。如果原來head->next 指向 pnext節點,前者則是head重新指向pre,與pnext節點斷開,后者把pnext值賦值給pre,head與pnext并沒有斷開。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對武林網之家的支持。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩av在线天堂网| 日韩av网址在线观看| 久久综合伊人77777尤物| 成人福利免费观看| 亚洲男人天堂古典| 国自产精品手机在线观看视频| 91爱爱小视频k| 色香阁99久久精品久久久| 亚洲国产精品人人爽夜夜爽| 久久成人亚洲精品| 91在线播放国产| 欧美在线国产精品| 91超碰中文字幕久久精品| 亚洲精品乱码久久久久久按摩观| 国产有码一区二区| 国产精品日韩av| 国产精品自产拍在线观| 久久久久久久久亚洲| 欧美精品在线第一页| 亚洲free嫩bbb| 亚洲视频axxx| 国产精品白丝jk喷水视频一区| 国产日韩一区在线| 成人黄色大片在线免费观看| 久久久之久亚州精品露出| 欧美精品九九久久| 在线看国产精品| 午夜精品三级视频福利| 亚洲一区二区三区四区在线播放| 亚洲国产精品成人va在线观看| 亚洲福利视频专区| 亚洲欧美中文在线视频| 日韩一区二区av| 日韩国产精品亚洲а∨天堂免| 久久99久国产精品黄毛片入口| 亚洲精品不卡在线| 中文字幕精品在线视频| 欧美性色19p| 一区二区亚洲欧洲国产日韩| 亚洲人成电影网站色| 国产精品www色诱视频| 国产精自产拍久久久久久| 久久精品视频在线播放| 亚洲bt欧美bt日本bt| 久久人人爽人人爽人人片亚洲| 欧美国产日韩视频| 久久精品2019中文字幕| 亚洲图片在线综合| 欧美国产乱视频| 亚洲乱码一区av黑人高潮| 精品视频9999| 欧美精品制服第一页| 欧美激情精品久久久久久免费印度| 欧美激情视频在线免费观看 欧美视频免费一| 这里只有精品视频| 欧美做爰性生交视频| 日韩大胆人体377p| 国产精品一区二区av影院萌芽| 欧美日韩在线第一页| 中文日韩电影网站| 精品国产91乱高清在线观看| 成人在线视频福利| 两个人的视频www国产精品| 97国产真实伦对白精彩视频8| 国产成人一区二区三区| 欧美电影在线免费观看网站| 欧美第一黄色网| 国产99久久精品一区二区| 中文字幕日韩免费视频| 国产香蕉一区二区三区在线视频| 91精品国产高清久久久久久久久| 日韩一区二区福利| 国外成人在线播放| 国产精品igao视频| 色偷偷91综合久久噜噜| 亚洲精品成人久久久| 欧美不卡视频一区发布| 亚洲日韩第一页| 日韩黄色在线免费观看| 国产精品中文字幕在线观看| 久久久久国产精品免费网站| 亚洲第一区中文99精品| 日本久久久久亚洲中字幕| xvideos亚洲人网站| 日韩欧美在线视频免费观看| 日韩av一区二区在线观看| 成人在线观看视频网站| 91a在线视频| 日本久久91av| 亚洲一区亚洲二区亚洲三区| 欧美激情视频网址| 日本精品中文字幕| 日韩免费观看视频| 91精品久久久久久久| 欧美一级视频免费在线观看| 亚洲黄色在线看| 欧美一级大片在线免费观看| 少妇激情综合网| 91国产美女视频| 91精品国产高清自在线| 一本大道香蕉久在线播放29| 中文字幕欧美日韩| 亚洲欧美日韩精品久久亚洲区| 国产精品稀缺呦系列在线| 亚洲国产精品va在线观看黑人| 日韩中文字幕不卡视频| 777午夜精品福利在线观看| 欧美日韩一区免费| 亚洲精品福利在线观看| 26uuu另类亚洲欧美日本老年| 亚洲视频专区在线| 欧美日韩国产在线| 日韩精品在线免费| 欧美午夜久久久| 国产精品美女午夜av| 九九九久久国产免费| 久久深夜福利免费观看| 国产精品白嫩美女在线观看| www高清在线视频日韩欧美| 自拍偷拍亚洲精品| 国产欧美日韩最新| 久久久国产一区二区三区| 在线午夜精品自拍| 亚洲人成网站999久久久综合| 国产999精品久久久影片官网| 成人免费看片视频| 久久久之久亚州精品露出| 中文字幕综合在线| 国产精品日韩久久久久| 亚洲最大av在线| 欧美怡红院视频一区二区三区| 日韩视频在线免费观看| 国产精品中文字幕在线观看| 一区二区中文字幕| 国产在线观看91精品一区| 日韩av一卡二卡| 亚洲a区在线视频| 97**国产露脸精品国产| 久久久久久久色| 精品国产区一区二区三区在线观看| 国产精品普通话| 精品国产一区二区三区久久| 久久婷婷国产麻豆91天堂| 欧美电影在线免费观看网站| 九九久久综合网站| 综合网日日天干夜夜久久| 成人免费淫片aa视频免费| 久久69精品久久久久久久电影好| 26uuu另类亚洲欧美日本老年| 热久久免费视频精品| 日韩高清av一区二区三区| 久久伊人免费视频| 日韩男女性生活视频| 国产精品久久二区| 青青草精品毛片| 成人免费观看49www在线观看| 国产精品久久久久99| 欧美性生交xxxxxdddd| 欧美激情影音先锋| xxx一区二区| 欧美日韩亚洲成人| 日本精品中文字幕| 亚洲电影免费在线观看| 日韩av快播网址|