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