UDP广播协议叫吃饭


私信TA

用户名:Mustenaka

访问量:149517

签 名:

个人博客www.mustenaka.cn

等  级
排  名 13
经  验 25377
参赛次数 8
文章发表 197
年  龄 3
在职情况 学生
学  校 Sky_box
专  业 NE

  自我简介:

欢迎光临我的博客www.mustenaka.cn,Python,C#,U3D,C/C++开发合作可以找我

解题思路:
    在比赛中,我们呢往往没有足够的时间进行直接创建一个栈的方法,所以我们可以利用C++中的STL,STL为我们提前封装好了各种代码集,栈也是其封装好了的其中一类。


其使用方法为:

stack<Your_stuct> Your_name;

接着我们只需要记忆一些封装好了的用法即可,这里给出一些常用的

为了简化,我这样定义栈

stack<int> q;
q.empty()   判断栈是否为空
q.push()    输入一个数入栈【入栈】
q.pop()     将栈顶元素丢弃【出栈】
q.top()     返回栈顶元素(不丢弃/出栈)
q.size()    返回栈的长度(大小)

因此本题利用STL描写的话可以变成这样:

参考代码:

#include<bits/stdc++.h>
#define hh ios::sync_with_stdio(false),cin.tie(0),cout.tie(0) 
using namespace std;
int main(){
 hh;
 int n;
 while(cin>>n){
  stack<int> todo;
  while(n){
   todo.push(n%8);
   n/=8;
  }
  while(!todo.empty()){
   cout<<todo.top();
   todo.pop();
  }
  cout<<endl;
 }
 return 0;
}

这样比直接写栈要简单很多了,但是还是必须要理解了栈的原理之后再使用STL的栈,否则很容易出问题的。

 

0.0分

1 人评分

  评论区

  • «
  • »