C 佇列的幾種實現方式(陣列 指標 鍊錶)

2021-10-23 09:51:32 字數 2667 閱讀 6419

佇列遵循先進先出原則,所以入隊位置固定,出隊位置也固定。

#include

#define maxsize 5

//佇列最大長度

using

namespace std;

int tag =0;

//0代表出隊,1代表入隊

struct qtqueue

;void

initqueue

(qtqueue &s)

bool

enqueue

(qtqueue& s,

int e)

//入隊

s.value[s.rear]

= e;

s.rear++;if

(s.rear == maxsize)

tag =1;

return

true;}

bool

ouqueue

(qtqueue& s,

int& e)

//出隊

e = s.value[s.front]

; s.front++;if

(s.front == maxsize)

tag =0;

return

true;}

void

main()

;int i =0;

bool b;

while

(e[i]

)//記得用0來結束迴圈bool b;

while

(e[i]

) i++;}

i++;}

nqueue

(s, e[i]);

if(!b)//如果返回false則代表佇列滿了,跳出迴圈

i++;}

int a;

while(1

)else

}}

#include

#define maxsize 5

//佇列最大長度

using

namespace std;

int tag =0;

//0代表出隊,1代表入隊

int in =

0, out =0;

//為了實現環狀,用來記錄隊頭隊尾指標的位置

struct qtqueue

;void

initqueue

(qtqueue& s)

bool

enqueue

(qtqueue& s,

int e)

//入隊

*s.rear = e;

s.rear++

; in++;if

(in == maxsize)

//判斷指標是否已經達到申請的最大的節點位置

tag =1;

return

true;}

bool

ouqueue

(qtqueue& s,

int& e)

//出隊

e =*s.front;

//獲取資料並傳遞給e

s.front++

; out++;if

(out == maxsize)

//判斷指標是否已經達到申請的最大的節點位置

tag =0;

return

true;}

void

main()

;int i =0;

bool b;

while

(e[i]

) i++;}

int a;

while(1

)else

}delete s.front;

}

#include

using

namespace std;

struct qtqueue

;void

initqueue

(qtqueue& s)

bool

enqueue

(qtqueue& s,

int e)

//入隊

bool

ouqueue

(qtqueue& s,

int& e)

//出隊

e = s.front-

>next-

>value;

//獲取資料並傳遞給e,頭節點不存放資料

qtqueue* p;

p = s.front-

>next;

s.front-

>next = s.front-

>next-

>next;

if(s.front-

>next ==

null

)//如果鏈隊空了,則隊尾指標指向隊頭指標

delete p;

return

true;}

void

main()

;int i =0;

bool b;

while

(e[i]

) i++;}

int a;

while(1

)else

}delete s.front;

}

佇列 佇列的陣列實現及鍊錶實現

stack 模板類的定義在標頭檔案中 include queueq q.push x 將x 接到佇列的末端。q.pop 彈出佇列的第乙個元素,注意,並不會返回被彈出元素的值。q.front 訪問最早被壓入佇列的元素,並不會彈出該元素。q.back 訪問最後被壓入佇列的元素,並不會 彈出該元素。q.e...

佇列的陣列實現與鍊錶實現

佇列是一種基本的資料結構。我們平時排隊等候服務的時候,是先到的人先接受服務。對於佇列這種資料結構,實現的就是一種先進先出 first int,first out,fifo 的策略。改變佇列中元素的操作方法只有兩個 push與pop。push是把元素從隊尾插入,pop是把元素從隊頭刪除。佇列的陣列實現...

佇列的陣列實現 C

參考 資料結構與演算法分析 c語言描述 佇列的實現有很多種,但是只要我們保證函式呼叫的效果相同那麼怎麼實現都無所謂。佇列有兩個指標,頭指標front和尾指標rear。使用陣列實現佇列的時候 可以讓front指向佇列的第乙個元素,rear指向佇列的最後乙個元素的下乙個位置 也可以讓front指向第乙個...