1.建立:通過頭尾指標建立乙個單向鍊錶
2.輸出
3.倒序輸出:遞迴
4.轉置:用三個指標,乙個被指向p1,乙個指向p2,乙個斷開p3
**實現:
#include
#include
typedef struct node
list;
//建立
list* createlist()
else//尾的下乙個等於temp
//尾移動到下乙個
pend = ptemp;
num--;
}return phead;
}//輸出
void printflist(list* phead)
}//反向輸出
void reverseprintf(list* phead)
//轉置
list* reverselist(list* phead)
p2->pnext = p1; // 最後還需要把p2和p1連起來,此時p2指向pend,但是與p1為連線
return p2;
}int main()
面試題6 倒序輸出鍊錶
思路有兩個 1 利用遞迴思路,這樣比較耗時,但是省空間。2 既然能夠使用遞迴,就能使用棧來操作。首先要涉及到鍊錶的定義和初始化 struct linknode intmain 這裡需要註明 nullptr是c 11才開始使用的關鍵字,為了和c中的null區別。c中的null表明的是乙個void指標,...
鍊錶的構造,獲取,刪除,順序輸出,倒序輸出,反轉
線性表的資料結構圖 鍊錶簡介 鍊錶是一種物理儲存單元上非連續 非順序的儲存結構,資料元素的邏輯順序是通過鍊錶中的指標鏈結次序實現的。鍊錶由一系列節點組成,這些節點不必在記憶體中相連。每個節點由資料部分data和鏈部分next,next指向下乙個節點,這樣當新增或者刪除時,只需要改變相關節點的next...
自建單向鍊錶,自建鏈棧,反向輸出單向鍊錶
題目 反向輸出單向鍊錶 解題思路 反向輸出單向鍊錶方法有很多,但筆者採用自建單向鍊錶,自建鏈棧,將單向鍊錶中元素輸入棧中,再取出棧中元素,輸入到新單向鍊錶中 見下 自定義鍊錶 鏈棧節點類 public class node 自建單向鍊錶 public class linklist 插入節點 para...