個人學習筆記 c 陣列實現的模板佇列和棧

2021-09-26 04:51:15 字數 1835 閱讀 8254

1、佇列

#include

using namespace std;

template

class arrayqueue

;//判斷佇列是否為空,如果為空返回true,否則返回false

intsize()

//返回佇列元素數量

t&front()

;//返回隊首元素的引用

t&back()

;//返回隊尾元素的引用

void

pop();

//刪除隊首元素

void

push

(const t& theelement)

;//把元素加入隊尾

private:

int queuefront;

//佇列首元素的位置

int listsize;

//佇列的元素個數

int arraylength;

//佇列的容量

t* queue;

//建立乙個陣列用來存放佇列 };

template

arrayqueue::

arrayqueue()

//建構函式

template

t& arrayqueue::

front()

//返回隊首元素的引用

template

t& arrayqueue::

back()

//返回隊尾元素的引用

template

void arrayqueue::

pop(

)//刪除隊首元素

else

cout<<

"queue is null!"

<}template

void arrayqueue::

push

(const t& theelement)

//把元素加入隊尾

delete [

]queue;

queue=temp;

queuefront=0;

arraylength*=2

;} listsize++

;int queueback=

(queuefront+listsize)

%arraylength;

//插入到隊尾

queue[queueback]

=theelement;

}

2、棧
template

class arraystack

bool empty()

const

//判斷棧是否為空

intsize()

const

t&top(

)//返回棧頂元素

void

pop(

)//刪除棧頂元素

private:

t *stack;

int stacktop;

//棧頂

int arraylength;

//棧的容量 };

template

arraystack::

arraystack

(int initialcapacity)

//建構函式

template

void arraystack::

push

(const t& theelement)

//向棧頂插入元素

stack[

++stacktop]

=theelement;

}

C語言個人學習筆記

在匯程式設計序中,乙個函式的開頭常常見到以下 8048cbd 83 ec 18 sub 0x18,esp這句話的目的是分配棧幀。棧幀中存放的是程式中的區域性變數。在windows的編譯器cl.exe中這些棧幀中的值最初會被初始化為0xcc,這也是為什麼vc 在陣列越界或訪問未賦值的記憶體時列印 燙燙...

java基礎 個人學習筆記 C

12.class valuetest1 intnum 10 for strings student system.out.println 方法呼叫前 t student 0 范冰冰 changevalue student system.out.println 方法呼叫後 t student 0 周杰...

c 個人學習筆記 類繼承

面對物件過程程式設計的主要目的之一是提供可重用的 塊。當專案十分龐大時,對已通過測試的 進行重用比重新編寫 更能提供效率,節省時間。c 通過擴充套件和修改類來提高 的重用性,這種方法叫類繼承。從已有的類 基類 派生出新的類 派生類 派生類繼承了基類的所有特性 成員變數 方法等 並且還可以在此基礎上新...