大话数据结构——队列顺序存储结构

 

#include
using namespace std;

#define OK 1
#define TRUE 1
#define FALSE 0
#define ERROR 0

#define MAXSIZE 10
typedef int status;//返回的状态值
typedef int elemtype;//数据的类型

//数据结构
typedef struct queue_list
{
	elemtype data[MAXSIZE];//队列里的元素
	int rear;//尾的元素的坐标
	int front;//头的元素的坐标
}queue_list;

//初始化一个空的队列
status init_quelist(queue_list *L)
{
	L->front=0;
	L->rear=0;
	return OK;
}

//求队列的长度
int length_quelist(queue_list L)
{
	return (L.rear-L.front+MAXSIZE)%MAXSIZE;//计算队列的长度
}

//循环队列的入队列操作
status In_quelist(queue_list *L,elemtype e)
{
	if((L->rear+1)%MAXSIZE==L->front)
		return ERROR;
	L->data[L->rear]=e;
	L->rear=(L->rear+1)%MAXSIZE;//若本来rear在数组的最后,再移一位则转到了数组最前
	return OK;
}

//循环队列的出队操作
status ou_quelist(queue_list *L,elemtype &e)
{
	if(L->front==L->rear)
		return ERROR;
	e=L->data[L->front];//若本来front在数组的最后,再移一位则转到了数组最前
	L->front+=1;
	return OK;
}





int main()
{
	

	system("pause");
	return 1;

}

  

转载于:https://www.cnblogs.com/yanliang12138/p/4328976.html

你可能感兴趣的:(大话数据结构——队列顺序存储结构)