順序佇列的基本操作 C語言

2021-09-05 08:38:32 字數 1623 閱讀 2158

順序佇列即用順序表實現的佇列, 其操作簡便, 但是會出現"假溢位"的現象, 這是由於順序表的定義以及佇列的特點所共同決定的

具體實現

順序佇列的定義

//定義乙個順序佇列

#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,如果佇列中含有...