c 實現佇列

2021-08-14 11:58:57 字數 2940 閱讀 6414

佇列是一種線性結構,具有先進先出的特點,以下是3種佇列基本操作的c++**:

//鏈式佇列

#include

#include

using

namespace

std;

vector

a;class node ;

class linkqueue ;

//初始化佇列

void linkqueue::initqueue(linkqueue &q)

//入隊

void linkqueue::ennode(linkqueue &q)

//遍歷佇列

void linkqueue::ouputnode(linkqueue &q)

else

cout

<< "該佇列元素:";

while (p!=null)

cout

/佇列判空

void linkqueue::isempty(linkqueue &q)

else

cout

<< "該佇列不是空佇列"

<< endl;

}//出隊

void linkqueue::delfirstnode(linkqueue &q)

//獲取佇列長度

void linkqueue::getlength(linkqueue &q)

cout

<< "該佇列的長度 = "

<< count;

}//佇列查詢

void linkqueue::findnode(linkqueue &q,int value)

n = n + 1;

p = p->next;

}cout

<< endl;

if (a.empty() == 1)

else

}cout

<< endl;

}//銷毀佇列

void linkqueue::destroynode(linkqueue &q)

}void main()

que.ouputnode(*q);

que.getlength(*q);

que.delfirstnode(*q);

que.ouputnode(*q);

q->isempty(*q);

que.getlength(*q);

que.findnode(*q,5);

q->destroynode(*q);

}

**執行結果:

//順序佇列

#include

using

namespace

std;

class

queue

~queue()

//入隊

void insertval(int v)

}//獲取首元素

void getfirval()

}//刪除首元素

void delfirval()

}//遍歷佇列

void outputval()

cout

<< endl;

}private:

int *data;

int length, head, tail;

};int main()

que.getfirval();

que.outputval();

cout

<< "刪除元素";

que.delfirval();

que.getfirval();

que.outputval();

return

0;}

**執行結果:

//迴圈佇列

#include

using

namespace

std;

class circularqueue

~circularqueue()

//入隊

void insertval(int value)

}//獲取佇列首元素

void getfirval()

cout

<< endl;

}//刪除元素

void delfirval()

}//遍歷佇列

void outputval()

cout

<< "該佇列長度="

<< num << endl;

}//佇列判空

void isempty()

else

cout

<< "該佇列未滿"

<< endl;

}private:

int *data;

int head, tail, length, count;

};int main()

que.getfirval();

que.outputval();

que.delfirval();

que.getfirval();

cout

<< "刪除乙個元素";

que.outputval();

que.isempty();

return

0;}

**執行結果:

c 實現佇列

主要是想聯絡一下c 中的模板怎麼使用,隨便複習一下佇列。佇列最基本的資料結構元素先進先出,這些就不多說了。注意 寫程式時copy建構函式和copy賦值函式的寫法。include includeusing namespace std templateclass queueitem queueitem ...

C 實現佇列

像棧一樣,佇列 queue 也是表。然而,使用佇列時插入在一端進行而刪除則在另一端進行,也就是先進先出 fifo 佇列的基本操作是enqueue 入隊 它是在表的末端 叫做隊尾 rear 插入乙個元素 還有dequeue 出隊 它是刪除 或返回 在表的開頭 叫做隊頭 front 的元素。同樣,佇列也...

C 佇列實現

原理 queue 佇列也是乙個線性儲存表,元素資料的插入在表的一端進行,在另一端刪除,從而構成了乙個先進先出fifo first in first out 表。隊頭 隊尾 插入一端稱為隊尾,刪除一端稱為隊首。c 佇列是一種容器介面卡,預設使用雙端佇列deque來實現,將 deque 容器轉換為 qu...