佇列遵循先進先出原則,所以入隊位置固定,出隊位置也固定。
#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指向第乙個...