已知Q是一个非空队列,S是一个空栈。仅使用少量工作变量以及对队列和栈的基本操作,编写一个算法,将队列Q中的所有元素逆置。

已知Q是一个非空队列,S是一个空栈。仅使用少量工作变量以及对队列和栈的基本操作,编写一个算法,将队列Q中的所有元素逆置。
在这里插入代码片
 #include<iostream>
  #define MaxSize 1000 
  using namespace std; 
  typedef int ElemType; 
  typedef struct SqStack
   { 	
   ElemType date[MaxSize]; 	
   int top; 
   };
//栈的结构类型
void creating(SqStack &SQ,int N)
 { 	//SQ.top = -1; 	int i; 	int aa; 
 	for (i = 0; i < N; i++) 
 	{ 		
 	cin >> aa; 		
 	SQ.top++; 		
 	SQ.date[SQ.top] = aa; 
 	}  
 } //创建栈,存入元素

void Display(SqStack &SQ) 
{ 	while (SQ.top != -1) 	
      { 		
        cout << SQ.date[SQ.top]<<' '; 
		SQ.top--;
	  }  
} //输出,栈的特点是先入后出,可以很好地实现逆序
int main() 
{ 	SqStack sq; 	
sq.top = -1; 	
int n; 	cin >> n; 	
creating(sq,n); 
	Display(sq);     return 0;
	 }
//调用函数



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值