//下面給出鍊錶linkedlist 的完整申明 linkedlist.h,假設結點的申明在標頭檔案node.h中//
// 掌握鍊錶的必備知識點 //
本人倉促整理 應該有不少錯誤,node.h會馬上給出//
#include
#include//exit(1) 退出函式。
#include"node.h"
template
enum boolean //將false 和 true 固定為0和1。
class linkedlist;
template
node*linkedlist::getnode(const t&item ,node*ptr);
template
linkedlist::~linkedlist()
template //過載賦值運算子的函式.
linkedlist&linkedlist::operator = (const linkedlist*orglist)
// endl;
setposition(orglist.position); //這又是什麼意思?要去複習過載了。
return *this;
template
int linkedlist::size(void) const
template
boolean linkedlist::isempty(void) const
template
int linkedlist::nextnode(void)
else}
template //鍊錶中重置當前結點位置的函式。
int linkedlist::setpostion(int pos)
return position;}
template
int linkedlist::getposition(void)const
template //重要:鍊錶中在當前結點處插入新結點的函式;
void linkedlist::insertat(const t& item)
else if(!prevptr) //在表頭插入
else //在鍊錶中間插入插入
size++;
currptr = newnode; //新插入的結點為當前結點}
template //重要:鍊錶中在當前結點後插入新結點的函式;
void linkedlist::insertafter(const t& item)
else if(currptr == rear||!currptr) //在鍊錶尾插入
else
size++;
currptr = newnode;}
template
void linkedlist::deleteat(void) //重要:刪除當前結點的函式
else
if(oldnode == rear)
currptr = oldnode->nextnode(); //後續結點作為新的當前結點
freenode(oldnode); //釋放原當前結點
size--; //鍊錶大小減1;}
template
void linkedlist::deleteafter(void)
freenode(oldnode);
size--;}
template //獲取當前結點的函式
t linkedlist::getdata(void) const
template //鍊錶中修改當前結點資料的函式
void linkedlist::setdata(const t& item)
template
void linkedlist::clear(void)
front = rear = prevptr = currptr = null; //修改空鍊錶資料
size = 0;
position = -1;
}
Oracle 必備知識點
sql alter user scott identified by mypassword sql alter user scott account unlock 作業系統認證,不需要資料庫伺服器啟動listener,也不需要資料庫伺服器處於可用狀態。比如我們想要啟動資料庫就可以用這種方式進入sql...
面試必備知識點
盒模型 css的單位和應用場景及rem的設定,正方形的處理 定位,回流與重繪 ifc bfc與清除浮動 相容處理及 查詢 css預處理與後處理 css module及第三方庫的樣式覆蓋 deep 和global 深入vue的響應原理?手動實現發部訂閱 手動實現簡單mvvm vue多版本之間的區別 執...
mongodb必備知識點
32.mongodb概念 mongodb是乙個文件資料庫,較好的效能,領先的非關係型資料庫,其實現與mysql一樣,都是採用c 語言實現 33.mongodb具備的優勢 bson基於json進行開發的,相比json更具有輕量性 可遍歷性 高效性。面向文件的儲存 文件儲存以bson格式 有大小限制,最...