單鏈表求解

2021-10-25 01:24:34 字數 2245 閱讀 2458

大二剛從電氣轉到計算機,在學習單鏈表的時候想著擼一遍書上單鏈表的原始碼,然後簡單測試一下, 但是出現了問題,希望各位大佬能幫我看看

原始碼如下

類:

template

<

typename t >

struct linklist // 單鏈表結點型別(用結構體)

;template

<

typename t>

class

linklistclass

// 單鏈表頭節點指標

;

函式實現:

#include

#include

"class.h"

using

namespace std;

// 採用頭插法建立單鏈表

template

<

typename t>

void linklistclass

::createlistf

(t a,

int n)

}//採用尾插法建表

template

<

typename t>

void linklistclass

::createlistr

(t a,

int n)

r->next =

null

;//將尾結點的 next 設定為 null

}//輸出單鏈表所有的結點值

template

<

typename t>

void linklistclass

::dislist()

cout << endl;

}template

<

typename t>

int linklistclass

::listlength()

return i;

}//求單鏈表中某個元素值

template

<

typename t>

bool linklistclass

::getelem

(int i, t &e)

if(p =

null

)return

false

;else

}//按元素值查詢

template

<

typename t>

int linklistclass

::locateelem

(t e)

if(p ==

null

)return0;

else

return

(i);

}//插入資料元素

template

<

typename t>

bool linklistclass

::listinsert

(int i, t e)

if(p ==

null

)return

false

;//未找到第 i-1 個結點,返回 false

else

//找到第 i-1 個結點 *p 插入新節點並放回 true

}//刪除資料元素

template

<

typename t>

bool linklistclass

::listdelete

(int i)

if(p ==

null

)return

false

;else

}

測試程式:

#include

"函式實現.cpp"

intmain()

;int x;

linklistclass<

int> l1;

//宣告單鏈表型別 l1

l1.createlistf

(a,3);

//頭插法建立單鏈表

l1.dislist()

;// 輸出單鏈表內容

}

最後輸出的結果如下

請問我是**出了問題 因為是剛從電氣轉來,c++ 不是很熟悉, 希望各位大佬賜教

使用單鏈表求解約瑟夫環問題

約瑟夫環 約瑟夫問題 是乙個數學的應用問題 已知n個人 以編號1,2,3.n分別表示 圍坐在一張圓桌周圍。從編號為k的人開始報數,數到m的那個人出列 他的下乙個人又從1開始報數,數到m的那個人又出列 依此規律重複下去,直到圓桌周圍的人全部出列。單鏈表參考 約瑟夫環運作如下 1 一群人圍在一起坐成環狀...

單鏈表(合併單鏈表)

單鏈表遍歷 單鏈表遍歷是從單鏈表頭指標head開始訪問,沿著next指標所指示的方向依次訪問每乙個結點,且每個結點只能訪問依次,直到最後乙個結點為止。遍歷時注意,不要改變head指標的指向。因此一般設定另外的乙個指標變數如p,p從head開始依次訪問乙個結點,直到鍊錶結束,此時p null,完成依次...

遞迴求解單鏈表中的結點個數

include includeusing namespace std define maxsize 10000 typedef struct lnode lnode,linklist void initlist linklist l void createlist r linklist l,int ...