簡單佇列實現(C )

2021-10-04 17:23:11 字數 1665 閱讀 3589

首先佇列成員是先進先出(first in first out,fifo)的,即新增資料只能從後面新增,而刪除資料只能從第一位刪除。y

如果用簡單的陣列來儲存資料,那麼每刪除乙個資料就要把所有項向前移動一位,理論上也可行,實現起來也較為簡單,但這裡我們用另外一種方式——鍊錶。

struct node

這樣在乙個佇列中我們就可以只儲存第乙個和最後乙個節點的指標;

node *front//它指向第乙個結構體

node *rear//它指向最後乙個結構體

我們所要建立的佇列應當滿足以下功能:

#include

class

queue

; node *front;

//指向第乙個結構體

node *rear;

//指向最後乙個結構體

enum

;int curr_number;

//儲存佇列當前資料的個數

const

int toll_numbers;

//佇列能儲存的資料總個數

queue

(const queue &que)

:toll_numbers(0

);queue operator=(

const queue &que)

;//將複製建構函式和賦值操作符放置在私有區域,避免佇列物件使用這兩種函式,因為我們還不打算實現此功能;

public

:queue

(const

int num = size)

;//建構函式,並提供乙個預設值

~queue()

;//析構函式

bool

enqueue

(const

int&i)

;//新增資料

bool

dequeue

(int

&i);

//刪除資料

intsize()

const

;//返回當前元素個數

intoperator

(int odn)

;//用訪問資料};

intmain()

//檢視a,b,c的值

std::cout << a << b << c;

}//函式定義

queue::

queue

(const

int num)

:toll_numbers

(num)

queue::

~queue()

}bool queue::

enqueue

(const

int& i)

bool queue::

dequeue

(int

& i)

int queue::

size()

const

//返回當前元素個數

int queue::

operator

(int odn)

return temp-

>i;

}

現在這個佇列雖然已經實現了一些最基本功能,但它仍然還不是乙個成熟的佇列,還需要很多很多改進的地方!

c 棧,佇列,迴圈佇列 簡單實現

棧 include using namespace std template struct node template class stack bool push const t e const t pop const t gtop bool empty int size bool clear pr...

簡單實現佇列

簡單實現佇列題目 現有名稱為namei且處理時間為timei的n個任務按順序排成一列,cpu通過迴圈排程法逐一處理這些任務,每個任務最多處理q ms 這個時間被稱為時間片 如果q ms之後任務尚未處理完畢,那麼該任務將被移動至隊伍末尾,cpu隨即開始處理下乙個任務。輸入 n q name1 time...

c 簡單實現優先順序佇列

優先順序佇列 優先順序佇列 是不同於先進先出佇列的另一種佇列。每次從佇列中取出的是具有最高優先權的元素。include using namespace std template struct node 節點實現佇列 template class priority queue public prior...