*佇列是只允許在一端進行插入操作,而在另一端進行刪除操作的線性表,簡稱fifo(first in first out).允許插入的一端是隊尾,允許增添的一端是對頭。①:佇列因為有插入端和刪除段,所以需要兩個變數front和rear;
②:佇列的長度(rear-front+size)%size;
③:佇列滿:(rear+1)%size=front;
④:佇列空:front=rear;
⑤:佇列指標的移動:front=(front+1)%size;
#include#include#includetypedef int qelemtype;
typedef struct
sqquene;
int creatquene(sqquene *q) //建立 }
int initquene(sqquene *q) //初始化
int quenelength(sqquene q) //求佇列長度
int insertquene(sqquene *q,int x) //插入元素
q->data[q->rear]=x;
q->rear=(q->rear+1)%10;
}int deletequene(sqquene *q,int *x) //刪除元素
int creatquene(sqquene *q); //建立
int initquene(sqquene *q); //初始化
int quenelength(sqquene q); //求佇列長度
int insertquene(sqquene *q,int x); //插入元素
int deletequene(sqquene *q,int *x); //刪除元素
int main()
linkqnode;
typedef struct
linkqueue;
void initlinkqueue(linkqueue *q);
int islqempty(linkqueue *q);
int enlinkqueue(linkqueue *q, int x);
int delinkqueue(linkqueue *q, int *x);
int getlqhead(linkqueue *q, int *x);
void print_hyphen(int n);
int main(void)
int end = 0;
int ope;
int n;
while(!end)
}return 0;
}void initlinkqueue(linkqueue *q)
int islqempty(linkqueue *q)
int enlinkqueue(linkqueue *q, int x)
else
return 0;
}int delinkqueue(linkqueue *q, int *x)
int getlqhead(linkqueue *q, int *x)
void print_hyphen(int n)
佇列的基本操作
include stdafx.h includeusing namespace std typedef struct node typedef struct queue queue insertqueue queue q,char value return q queue deletequeue q...
佇列的基本操作
本程式主要是實現了迴圈佇列的基本操作,包括insert,remove,peek,size等操作 package demo3 class queue 插入操作 public void insert long j quearray rear j 佇列是在隊尾插入 nitems 刪除 public lon...
佇列的基本操作
鏈式儲存 typedef int qelemtype typedef int status 具體資料型別具體定義 typedef struct qnode 佇列結點結構體 qnode,queueptr typedef struct 鏈佇列型別 linkqueue status initqueue l...