template
class chainnode ;
template
class chain ;
~chain();
bool isempty() const
int length()const;
bool find(int k, t &x)const;
int search(const t& x)const;
chain& delete(int k,t& x);
chain& insert(int k, const t& x);
void output(ostream& out)const;
private:
chainnode*first;//point to the first node
};
能用const的地方盡量使用const。
1.刪除鍊錶中所有結點的析構函式~chain()
templatet>
chain
::~chain()
}
2.計算鍊錶長度的函式length()
template
int chain::length()const
return count;
}
3.判斷某個元素是否在鍊錶中:find()
template
bool chain::find(int k, t& x)const
if (current->data == x)//這個地方和書上寫法不一樣
//感覺原書寫錯了~~
return
true;
else
return
false;
}
4.尋找鍊錶中是否包含某個元素x,並返回該元素的索引。
template
int search(const t& x)
if(current)
return i;
else
return
0;}
5.輸出函式output():
template
void chain::output(ostream& out)const
6.過載《操作符:
template
ostream& operator<<(ostream& out,const chain& x)
7.刪除某個元素x:
templatechain& chain::delete(int k, t& x)
if (!q || !q->link)
throw "outofbounds";
current = q->link;
q->link = current->link;
}x = current->data;
delete current;
return
*this;
}
8.插入某個元素,與刪除某個元素很類似:
template
chain& chain
::insert(int k, const t& x)
if (k >0&&
!p)throw "outofbounds";//不存在第k個元素
chainnode
*y =
new chainnode;
y->
data;
if (k)
else
//k=0,結點y作為第乙個元素插入
return
*this;
}
資料結構鍊錶實現
二 實驗基本原理與設計 三 主要儀器裝置及耗材 四 附錄 利用linux gnu make c 專案管理軟體工具實現資料結構鍊錶 linked list 要求實現以下功能 push,pop,insert,delete,search,visit go through,clear。節點的資料必須具有一般...
c 資料結構鍊錶的實現
資料結構中最開始學習實現的就是鍊錶 1 這個標頭檔案 list head 為建立結構體,用來儲存資料 include using namespace std template struct node 建立結構體 template node node template node node type i...
資料結構 鍊錶的實現 C
昨天寫了鍊錶,目前只寫了單鏈表,等有時間把迴圈鍊錶什麼的變異產品再寫出來 只有頭指標 沒有頭結點 的單鏈表 pragma once template struct node template class singlelinkedlist include singlelinkedlist.h temp...