一些常用的容器類模板構建 佇列

2021-09-11 23:06:42 字數 1096 閱讀 7566

templateclass queuetp

; class node //定義乙個巢狀類node

//該建構函式建立了乙個新結點,並將next指標置為空

}; node * front;

node * rear;

int items; //佇列中的元素

const int qsize; //佇列的大小

queuetp(const queuetp & q)

public:

queuetp(int qs=q_size);

~queuetp(); //析構函式,釋放佇列

bool isempty() const

bool isfull() const

int queuecount() const

bool enqueue(const item & item); //入棧

bool dequeue(item & item); //出棧

};

在乙個類中宣告的類被稱為巢狀類,對類進行巢狀不建立類成員,而是定義了一種型別,該型別僅在包含巢狀類宣告的類中有效。

下面進行類方法的定義

templatequeuetp::queuetp(int qs):qsize(qs)

帶乙個引數的建構函式,建立乙個空佇列

templatequeuetp::~queuetp()

}

析構函式將該佇列重新變成乙個空佇列,若佇列不為空,則建立乙個臨時結點,將隊頭賦給臨時結點,將隊頭的下乙個結點變成隊頭,然後刪除臨時指標,遍歷進行,直到隊頭為空。

templatebool queuetp::enqueue(const item & item)

templatebool queuetp::dequeue(item & item)

壓棧和出棧操作,壓棧操作時要新建乙個結點,若原隊列為空,則該結點為隊頭,若不為空,則該結點為隊尾的下乙個結點;出棧操作時與析構函式類似,建立乙個臨時結點儲存隊頭,然後將隊頭的下乙個結點變為隊頭,最後刪除臨時結點。

一些常用的容器類模板構建 棧

首先說幾個比較容易混淆的術語 1 函式指標 指標函式 函式指標的重點是指標,表示的是乙個指向函式的指標,例如int pf 指標函式的重點是函式,表示乙個返回指標的函式,例如int fun 2 陣列指標 指標陣列 陣列指標的重點是指標,表示乙個指向陣列的指標,例如int pa 8 指標陣列的重點是陣列...

關於一些常用類

包裝類1 string類 string物件嗲表一組不可改變的unicode字串行 string物件變數實際是乙個倡廉物件 常用方法 length 獲取長度 split 分割字串 charat 獲取指定位置的字元 1 replace char oldchar,char newchar 將當前字串物件中...

關於greater int 以及類模板的一些理解

1.以greater類模板為例 template class t struct greater public binary functionbool 我們可以看到,greater原型如上,則單拿出greater來說,規定其為類模板。如果我們寫greater或者greater或者單精度浮點型之類的基本...