用頭插法複製單鏈表

2021-09-11 03:09:20 字數 961 閱讀 8223

最近在準備考研複試,刷oj上面的題目,其中遇到了讓我們從尾到頭輸出單鏈表的值,其實應該是很容易的題目用乙個棧就能解決,但是自己當時忽然大腦短路只想到了頭插法,於是自己又建立乙個鍊錶用頭插法進行複製然後輸出,中間遇到了不少問題,最後才算磕磕絆絆的搞定!下面先貼**,然後說下錯處

vectorprintlistfromtailtohead(listnode* head) 

listnode * newhead = new listnode;

listnode * r = head;

while (r->next != null)

int i = 0;

listnode * q = newhead;

while (q->next != null)

return list;

}

上述**看著好像是對的,但是在實際執行中是會出錯的,錯誤如下

讀取訪問衝突,這個有點尷尬了,作為乙個新手一直弄了好久才發現問題,問題就在下面的這句**

listnode * newhead = new listnode;
listnode * newhead = new listnode;

newhead->next = null; //保證newhead指標的指向不會發生衝突

這個錯誤應該是很多初學者容易犯的,特別像我這種沒有接觸過c++的人更是容易犯錯!通過這個程式自己也總結了一些我平時沒有在意的知識點

vector建立陣列 vector list 之前一直以為vector必須要在list後面寫上數值,現在發現可以直接用這種形式

vector陣列賦值用到的方法 .push_back

鞏固複習了一下頭插法

用Python實現單鏈表的頭插法與尾插法

import random as rd class linklist object def init self,data,next none self.data data self.next next def createlisthead n l linklist 0 煉表頭 list for i ...

頭插法建立單鏈表

include include define max 50 typedef struct list list int main 頭插法建立鍊錶 void headcreatlist list l,char x 輸出函式 void display list l printf n commentes 這...

單鏈表之頭插法

單鏈表是一種鏈式訪問的資料結構,用一組位址任意的儲存單元存放線性表中的資料元素。鍊錶中的資料是以結點來表示的,每個結點的構成 元素 資料元素的映象 指標 指示後繼元素儲存位置 元素就是儲存資料的儲存單元,指標就是連線每個結點的位址資料。頭插法 include include 單鏈表 head 資訊域...