日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

单链表逆序的多种方式

發(fā)布時(shí)間:2023/11/30 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 单链表逆序的多种方式 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
https://www.cnblogs.com/eniac12/p/4860642.html template<class T> void List<T>::Inverse() {if(first == NULL) return;LinkNode<T> *p, *prev, *latter; p = first->link;   // 當(dāng)前結(jié)點(diǎn)prev = NULL;   // 前一結(jié)點(diǎn)latter = p->link;   // 下一結(jié)點(diǎn)while(p != NULL){p->link = prev; // 當(dāng)前結(jié)點(diǎn)指針指向前一結(jié)點(diǎn)prev = p; // 后移p = latter;if(p != NULL) // 如果p指針是NULL,已經(jīng)滿足終止條件latter = p->link;}first->link = prev;; // 最后連上附加頭結(jié)點(diǎn) }

https://blog.csdn.net/ljyljyok/article/details/77996029

LINK_NODE?*ReverseLink(LINK_NODE?*head)

???{

???? ? LINK_NODE?*next;

???? ? ?LINK_NODE?*prev?=?NULL;

????

???? ? ?while(head?!=?NULL)

???? ? ?{

???? ? ? ? ?next?=?head->next;

???? ? ? ? head->next?=?prev;

???? ? ? ? prev?=?head;

???? ? ? ? head?=?next;

???? ??}

????

???? ? ?return?prev;

????}

http://www.nowamagic.net/librarys/veda/detail/2241

/* 單鏈表反轉(zhuǎn)/逆序 */ Status ListReverse(LinkList L) {LinkList current,pnext,prev;if(L == NULL || L->next == NULL)return L;current = L->next; /* p1指向鏈表頭節(jié)點(diǎn)的下一個(gè)節(jié)點(diǎn) */pnext = current->next;current->next = NULL;while(pnext){prev = pnext->next;pnext->next = current;current = pnext;pnext = prev;printf("交換后:current = %d,next = %d \n",current->data,current->next->data);}//printf("current = %d,next = %d \n",current->data,current->next->data);L->next = current; /* 將鏈表頭節(jié)點(diǎn)指向p1 */return L; }

http://www.nowamagic.net/librarys/veda/detail/2242

Status ListReverse2(LinkList L) {LinkList current, p;if (L == NULL){return NULL;}current = L->next;while (current->next != NULL){p = current->next;current->next = p->next;p->next = L->next;L->next = p;}return L; }

http://www.nowamagic.net/librarys/veda/detail/2242

Status ListReverse3(LinkList L) {LinkList newList; //新鏈表的頭結(jié)點(diǎn)LinkList tmp; //指向L的第一個(gè)結(jié)點(diǎn),也就是要摘除的結(jié)點(diǎn)//參數(shù)為空或者內(nèi)存分配失敗則返回NULLif (L == NULL || (newList = (LinkList)malloc(sizeof(Node))) == NULL){return NULL;}//初始化newListnewList->data = L->data;newList->next = NULL;//依次將L的第一個(gè)結(jié)點(diǎn)放到newList的第一個(gè)結(jié)點(diǎn)位置while (L->next != NULL){tmp = newList->next; //保存newList中的后續(xù)結(jié)點(diǎn)newList->next = L->next; //將L的第一個(gè)結(jié)點(diǎn)放到newList中L->next = L->next->next; //從L中摘除這個(gè)結(jié)點(diǎn)newList->next->next = tmp; //恢復(fù)newList中后續(xù)結(jié)點(diǎn)的指針}//原頭結(jié)點(diǎn)應(yīng)該釋放掉,并返回新頭結(jié)點(diǎn)的指針free(L);return newList; }


總結(jié)

以上是生活随笔為你收集整理的单链表逆序的多种方式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。