順序佇列即用順序表實現的佇列, 其操作簡便, 但是會出現"假溢位"的現象, 這是由於順序表的定義以及佇列的特點所共同決定的
具體實現
順序佇列的定義
//定義乙個順序佇列
#define queuesize 100
typedef
struct squeue sequeue;
順序佇列的初始化
//順序佇列的初始化
void
initqueue
(sequeue* s)
判斷佇列是否為空
//判斷佇列是否為空
intisempty
(sequeue s)
return0;
}
入隊操作
//入隊操作
intinqueue
(sequeue* s,
int e)
s->queue[s->rear]
= e;
++s->rear;
return1;
}
出隊操作
//出隊操作
intoutqueue
(sequeue* s,
int* e)
*e = s->queue[s->front]
;++s->front;
return1;
}
測試
#include
#include
//定義乙個順序佇列
#define queuesize 100
typedef
struct squeue sequeue;
//順序佇列的初始化
void
initqueue
(sequeue* s)
//判斷佇列是否為空
intisempty
(sequeue s)
return0;
}//入隊操作
intinqueue
(sequeue* s,
int e)
s->queue[s->rear]
= e;
++s->rear;
return1;
}//出隊操作
intoutqueue
(sequeue* s,
int* e)
*e = s->queue[s->front]
;++s->front;
return1;
}int
main()
int e =0;
for(
int i =
0; i <5;
++i)
}printf
("\n");
system
("pause");
return0;
}
效果圖
順序表 佇列C語言的基本操作
佇列也是操作受限的線性表,採用先進先出的方式 佇列也有兩種儲存方式分別為順序順序和鏈式儲存 佇列的順序表示 使用一位陣列 下面是佇列的定義 迴圈佇列在邏輯上實現了頭尾相連,不會出現假溢位 define qelemtype int define maxsize 100 typedef struct s...
順序佇列(迴圈佇列)基本操作實現 C語言
只寫了幾個主要的操作,銷毀,清空等沒有寫 include include define ok 1 define error 0 define queue size 100 typedef int status typedef int elemtype typedef struct qnode qno...
c 佇列的基本操作 C語言佇列
1 佇列是一種先進先出的線性表,只允許在隊尾進行插入,在隊首進行刪除。initqueue 初始化佇列 enqueue 進佇列 dequeue 出佇列 isqueueempty 判斷佇列是否為空 isqueuefull 判斷佇列是否已滿 1 初始化佇列,一般令tail 0,head 0,如果佇列中含有...