队列的基本操作

1、【队列的基本操作函数】 

#include<bits/stdc++.h>
using namespace std;
int a[100];
int front,rear;
//下面所有的队列操作都在a数组上进行 
void init(){//队列的初始化,让队列为空队 
	front = rear = 0; 
}
bool empty(){//返回1的时候为空队 
	if(front == rear){
		return 1;
	}else{
		return 0;
	}
} 
int getnum(){
	return rear - front;
}
void push(int x){
	if(rear+1 <= 99){
		rear++;
		a[rear] = x;
	}else{
		cout<<"队满了,不能再入队了"<<endl;
	}	
} 
void pop(){
	if(front < rear){
		front++;
	}else{
		cout<<"队空了,无法出队!"<<endl; 
	} 	
} 
int gettop(){
	if(front < rear){
		return a[front+1];
	}else{
		cout<<"空队,没有首元素"<<endl; 
	}
}

 2、【基本函数运用】

输入n,将1-n依次入队,然后依次输出并出队。

#include<bits/stdc++.h>
using namespace std;
int a[100];
int front,rear;
//下面所有的队列操作都在a数组上进行 
void init(){//队列的初始化,让队列为空队 
	front = rear = 0; 
}
bool empty(){//返回1的时候为空队 
	if(front == rear){
		return 1;
	}else{
		return 0;
	}
} 
int getnum(){
	return rear - front;
}
void push(int x){
	if(rear+1 <= 99){
		rear++;
		a[rear] = x;
	}else{
		cout<<"队满了,不能再入队了"<<endl;
	}	
} 
void pop(){
	if(front < rear){
		front++;
	}else{
		cout<<"队空了,无法出队!"<<endl; 
	} 	
} 
int gettop(){
	if(front < rear){
		return a[front+1];
	}else{
		cout<<"空队,没有首元素"<<endl; 
	}
}
int main(){
	init();
	int n;
	cin>>n;
	for(int i=1;i<=n;i++){
		cout<<"将"<<i<<"入队"<<endl; 
		push(i);
	}
	cout<<endl;
	for(int i=1;i<=n;i++){
		cout<<"将队首出队"<<"  "; 
		cout<<gettop()<<endl;
		pop();
	}
}

【方法2】

#include<bits/stdc++.h>
using namespace std;

int main(){
	int a[100]={0};
	int n;
	int front , rear;
	cin>>n;
	front = rear = 0;
	for(int i=1;i<=n;i++){
		rear++;
		a[rear] = i;
	}
	while(front < rear){//如果队列不空,输出队首 
		cout<<a[front+1]<<"  ";
		front++;
	}
//	for(int i=1;i<=n;i++){
//		cout<<a[front+1]<<"  ";
//		front++;
//	}  
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值