• 找水王


    要求:一个变量计数a>n/2n/2,参数赋值,复杂度为n

    思路:遍历统计数目,因为每个帖子都有它的id,找其中的一个帖子,记录它的全部id,并与其他帖子id进行比较,如果id相同,然后累加进行计数,当遍历全部进行完毕,则将最后的计数与n/2进行比较,如果不大于n/2,归零,如果大于n/2,则记录下棋id

    代码:

    #include<iostream>

    #define MAXSIZE 100

    #define OK 1

    #define OVERFLOW -2

    using namespace std;

    typedef struct {    

    int *base;    

    int *top;    

    int stacksize;

    }SqStack; i

    nt  InitStack(SqStack &S) {   

    S.base=new int [MAXSIZE];   

    if(!S.base) exit(OVERFLOW);   

    S.top=S.base;   

    S.stacksize=MAXSIZE;    

    return OK;

    }

    int main() {    

    int ID[MAXSIZE],k=0,n;  

    cout<<"请输入所有的ID号:(以-1结束)"<<endl;    

    for(int j=0;;j++)     {           

              cin>>n;  

             if(n==-1)             break;            

             ID[j]=n;         k++;    

        }    

       int e;    

      SqStack S;    

    InitStack(S);

    for(int i=0;i<k;i++)     {                

         if(S.top==S.base)         {            

                *S.top++=ID[i];        

                                             }        

         int num=*(S.top-1);        

         if(num!=ID[i+1]&&i<k-1)         {            

                         e=*--S.top;            

                           i++;         }        

            else         {        

                *S.top++=ID[i+1];        

                  }        

          if(i==k-2)         {           

               num=*(S.top-1);            

             cout<<"水王的Id号为:"<<endl;            

             cout<<num<<endl;        

                     }    

                  }    

         return 0;

    }

    截图:

    总结:学会如何使用栈

  • 相关阅读:
    2.CCNA第二天-主机到主机通讯模型
    3.CCNA第三天-认识和操作思科IOS操作系统
    JAVA入门到精通-第67讲-sqlserver作业讲评
    JAVA入门到精通-第65讲-sql server JDBC
    JAVA入门到精通-第66讲-sql server-JDBC
    JAVA入门到精通-第64讲-sql server备份恢复
    linux 查看Apache Tomcat日志访问IP前10
    Linux进程通信方式
    Linux 运维常用命令
    线程池
  • 原文地址:https://www.cnblogs.com/mingning/p/4569273.html
Copyright © 2020-2023  润新知