佇列的操作

2021-06-23 10:05:04 字數 1689 閱讀 2972

參考:

線性結構實現佇列操作:

//佇列空的條件

rear == front

//佇列滿的條件

(rear+1) % queuesize == front

//佇列長度計算公式

(rear-front+queuesize) % queuesize

#include#include#define n 10

typedef int datatype;

typedef structsequeue;

sequeue *createemptyqueue();

int emptyqueue(sequeue *sq);

int fullqueue(sequeue *sq);

void clearqueue(sequeue *sq);

void enqueue(sequeue *sq, datatype x);

datatype dequeue(sequeue *sq);

int main()

}printf("\n");

while(!emptyqueue(sq))

printf("\n");

}sequeue *createemptyqueue()

int emptyqueue(sequeue *sq)

int fullqueue(sequeue *sq)

void clearqueue(sequeue *sq)

void enqueue(sequeue *sq, datatype x)

datatype dequeue(sequeue *sq)

佇列的鏈式結構實現:

//指標方向是從隊首指向隊尾

#include#includetypedef int datatype;

typedef struct node //結點結構

linknode, *linklist;

typedef struct linkqueue //佇列結構

linkqueue;

linkqueue *createemptyqueue();

int emptyqueue(linkqueue *lq);

void enqueue(linkqueue *lq, datatype x);

datatype dequeue(linkqueue *lq);

void clearqueue(linkqueue *lq);

int main()

printf("\n");

if(emptyqueue(lq))

while(!emptyqueue(lq))

printf("\n");

return 0;

}linkqueue *createemptyqueue()

int emptyqueue(linkqueue *lq)

void enqueue(linkqueue *lq, datatype x)

datatype dequeue(linkqueue *lq)

void clearqueue(linkqueue *lq)

lq->rear = lq->front;

}

佇列的基本操作(鏈佇列)

佇列和棧差不多,唯一的區別就是棧式先進後出 filo 佇列是先進先出 fifo 佇列的示意圖如下 其基本操作的 如下 include includeusing namespace std struct qnode typedef qnode queueptr struct linkqueue 初始化...

佇列的基本操作

include stdafx.h includeusing namespace std typedef struct node typedef struct queue queue insertqueue queue q,char value return q queue deletequeue q...

佇列的相關操作

include includeusing namespace std define maxsize 100 用順序結構實現的佇列 其中front指向頭結點 rear指向尾元素下乙個結點 typedef struct squeue int dequeue squeue q,char result 從佇...