佇列的基本操作

2021-08-28 05:46:26 字數 1635 閱讀 6142

*佇列是只允許在一端進行插入操作,而在另一端進行刪除操作的線性表,簡稱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...