佇列的基本操作

2021-08-19 13:29:01 字數 2806 閱讀 1685

迴圈佇列

queue.h

queue.c

動態佇列

queue.h

queue.c

1、迴圈佇列

queue.h

#pragma once 

#include

#include

#include

#define max_size 8

typedef

int datatype;

typedef

struct

queue

queue ,*pqueue;

void queueinit(pqueue s); //佇列初始化

void queuepush(pqueue s, datatype data); //佇列進元素

void queuepop(pqueue s); //刪除元素

int queuesize(pqueue s); //佇列元素的個數

int queueempty(pqueue s); //佇列是否為空

datatype queuefront(pqueue s); //檢視隊頭元素

datatype queueback(pqueue s); //檢視隊尾元素

void testqueue();

queue.c

#include "queue.h"

//佇列初始化

void queueinit(pqueue s)

//佇列進元素

void queuepush(pqueue s, datatype data)

s->_array[s->_back++] = data;

if (s->_back == max_size)

s->_back = 0;

s->count++;

}//刪除元素

void queuepop(pqueue s)

//佇列元素的個數

int queuesize(pqueue s)

//佇列是否為空

int queueempty(pqueue s)

//檢視隊頭元素

datatype queuefront(pqueue s)

//檢視隊尾元素

datatype queueback(pqueue s)

return s->_array[max_size - 1];

}void testqueue()

2、動態佇列

queue.h

#pragma once

#include

#include

#include

typedef

int datatype;

typedef

struct node

node, *pnode;

typedef

struct queue

queue, *pqueue;

//初始化佇列

void queueinit(pqueue q);

//入隊

void queuepush(pqueue q, datatype data);

//出隊

void queuepop(pqueue q);

//建立新結點

pnode buynode(datatype data);

//判空

int queueempty(pqueue q);

//檢視隊頭元素

datatype queuefrontdata(pqueue q);

//檢視隊尾元素

datatype queuereardata(pqueue q);

//檢視佇列長度

int queuesize(pqueue q);

//銷毀佇列

void queuedestory(pqueue q);

queue.c

#include

"queue.h"

//初始化佇列

void queueinit(pqueue q)

//入隊

void queuepush(pqueue q, datatype data)

else

}//出隊

void queuepop(pqueue q)

else

}//建立新結點

pnode buynode(datatype data)

pnewnode->_data =

data;

pnewnode->_pnext =

null;

return pnewnode;

}//判空

int queueempty(pqueue q)

//檢視隊頭元素

datatype queuefrontdata(pqueue q)

//檢視隊尾元素

datatype queuereardata(pqueue q)

//檢視佇列長度

int queuesize(pqueue q)

else

}return count;

}//銷毀佇列

void queuedestory(pqueue q)

else

}}

佇列的基本操作

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...