最近在準備考研複試,刷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 資訊域...