掌握鍊錶的必備知識點

2021-05-22 05:35:53 字數 2331 閱讀 7887

//下面給出鍊錶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格式 有大小限制,最...