欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

队列的数组实现

程序员文章站 2022-07-14 13:57:52
...

注意Pop,Push,Front中,都利用了“引用”。

如果不想用“引用”,可以改为指针。

#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;

const int maxd = 10000;

typedef struct Queue{
	int ele[maxd];
	int front;
	int rear;
}Queue;

Queue create(void)
{
	Queue que;
	que.front = 0;
	que.rear = -1;
	return que;
}

int Front(Queue& que)
{
	return que.ele[ que.front ];
	
}

void Pop( Queue& que )
{
	que.front++;
}

void Push( Queue& que, int x )
{
	que.ele[ ++que.rear ] = x;
}

bool Empty( Queue que )
{
	return que.front == que.rear + 1;
}

int main()
{
	Queue que = create( );
	Push( que, 1 );
	Push( que, 3 );
	int k = Front( que );
	printf( "%d\n",k );
	Pop( que );
	printf( "%d\n",Front( que ) );
	return 0;
	
}