a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C > 正文

C語言解字符串逆序和單向鏈表逆序問題的代碼示例

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

字符串逆序
上次面試碰到一個單向鏈表逆序的題目,幸好對字符串逆序比較熟悉,類比做出來了。字符串逆序比較簡單,直接上代碼:

void stringReverse(char* p1,char* p2) {  if(p1==p2)return;  //swap the value of p1 ,p2  *p1=(*p1)+(*p2);  *p2=(*p1)-(*p2);  *p1=(*p1)-(*p2);   if(p1==p2-1)return;   else stringReverse(++p1,--p2); } 

調用示例:

stringReverse(str,str+strlen(str)-1); 

單向鏈表逆序
先上三幅圖:原始狀態是圖一,全部逆序之后是圖三的樣子,圖二是逆序一步之后的樣子。按照圖二的步驟依次往后,每次移動一步,把p1->next 反向,直到全部逆序。詳細原理請看代碼。
圖一:

201666144741552.png (619×144)

圖二:

201666144815285.png (619×144)

圖三:

201666144831984.png (619×144)

typedef struct Node Node; struct Node{  int data;  Node* next; };  Node* reverseLinkList(Node* head){  if (head==NULL||head->next==NULL) {   return head;  }  Node* p1 = head;  Node* p2 = p1->next;  Node* p3 = p2->next;  p1->next = NULL;//p1要變成尾指針,所以指向NULL  while (p3!=NULL) {   p2->next = p1;//p2->next 反向   p1=p2;//p1指針向后移動一步   p2=p3;//p2指針向后移動一步   p3=p3->next;//p3指針向后移動一步  }  p2->next=p1;//p3指向了NULL,p2反向  head=p2;//頭指針指向之前的尾指針  return head; } 

至此結束了。

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

圖片精選

主站蜘蛛池模板: 欧美h在线观看 | 国产一级片一区二区三区 | 在线看黄色av | 国产中文一区二区三区 | 亚洲国产精品一区二区第一页 | 日日夜夜免费精品视频 | 在线免费视频一区 | 中文字幕电影在线 | 欧美日韩高清一区二区 | 日韩拍拍| 久久久网 | 狠狠一区 | 久久久久久亚洲精品中文字幕 | av网站免费在线 | 亚洲精品国产一区 | 中文字幕不卡av | 日韩欧美综合在线 | 精品中文字幕一区二区 | 欧美视频三区 | 狠狠操天天操 | 男人天堂中文字幕 | 亚洲www啪成人一区二区 | 久久久久国产精品免费免费搜索 | 亚洲视频精品 | 国产精品a久久久久 | 国产在线国偷精品产拍免费yy | 亚洲精品乱码久久久久久9色 | 91在线精品秘密一区二区 | 精品国产污网站污在线观看15 | 精品国产乱码久久久久久1区2区 | 国产91久久精品一区二区 | 国产精品久久久久久久久久 | 特级毛片www | 韩国精品视频在线观看 | 久草视频在线播放 | 日韩av高清在线观看 | 久久国产精品视频 | 黄色一级大片网站 | 一级毛片网 | 日韩在线播放一区 | 午夜视频一区二区三区 |