zoukankan      html  css  js  c++  java
  • SWUST OJ(1044)

    顺序栈基本操作的实现

     1 #include <iostream>
     2 #include <cstdlib>
     3 using namespace std;
     4 
     5 
     6 typedef struct stackList 
     7 {
     8     int *top, *base;
     9     int stack_size;
    10 }SqStack;
    11 
    12 
    13 void Init_stack(SqStack &s, int n)
    14 {
    15     s.base = (int*)malloc(n*sizeof(int));
    16     if (!s.base)
    17     {
    18         exit(-2);
    19     }
    20     s.top = s.base;
    21     s.stack_size = n; 
    22 }
    23 
    24 void Push(SqStack &s, int e)
    25 {
    26     if(s.top - s.base == s.stack_size)
    27     {
    28         exit(-2);
    29     }
    30     *s.top++ = e;
    31 }
    32 
    33 void Pop(SqStack &s)
    34 {
    35     if (s.top == s.base)
    36     {
    37         exit(-2);
    38     }
    39     s.top--;
    40 }
    41 
    42 int getTop(SqStack s)
    43 {
    44     if (s.base == s.top)
    45     {
    46         return -1;
    47     }
    48     return *--s.top;
    49 }
    50 
    51 int main()
    52 {
    53     SqStack s;
    54     int n,c;
    55     cin>>n;
    56     Init_stack(s,n);
    57 
    58     for (int i = 0; i < n; ++i)
    59     {
    60         cin>>c;
    61         Push(s,c);
    62     }
    63     int k;
    64     cin>>k;
    65 
    66     for (int i = 0; i < k; ++i)
    67     {
    68         Pop(s);
    69     }
    70     
    71     int t = getTop(s);
    72     cout<<t;
    73     return 0;
    74 }

     简易方法:

     1 #include <iostream>
     2 #include <cstdlib>
     3 #include <stack>
     4 using namespace std;
     5 
     6 int main()
     7 {
     8     stack<int> s;
     9     int n, c, k;
    10     cin>>n;
    11     for (int i = 0; i < n; ++i)
    12     {
    13         cin>>c;
    14         s.push(c);
    15     }
    16 
    17     cin>>k;
    18     for (int i = 0; i < k; ++i)
    19     {
    20         s.pop();
    21     }
    22     
    23     if (s.empty())
    24     {
    25         cout<<-1;
    26         return 0;
    27     }
    28 
    29     cout<<s.top();
    30     return 0;
    31 }
  • 相关阅读:
    Linux下Nginx配置文件nginx.conf默认位置修改
    centos下安装Nginx
    让网站永久拥有免费HTTPS(SSL)
    Perl深度优先迷宫算法
    Perl字符贪吃蛇
    Linux静态路由配置
    Linux虚拟机网络配置
    Perl快速查找素数
    Shell同步数据到oracle数据库
    Shell修改密码为原密码
  • 原文地址:https://www.cnblogs.com/Ghost4C-QH/p/10678694.html
Copyright © 2011-2022 走看看