美文网首页
STL常用容器使用

STL常用容器使用

作者: 板混DK | 来源:发表于2017-09-29 09:26 被阅读0次

    题目描述:

    编写一个C++程序, 建立整数向量V、整数队列Q、整数栈S1、S2;输入若干整数, 0作为输入结束; 将负整数依次保存在向量V中;将正整数中的素数保存在队列Q中; 将正整数中的偶数保存在栈S1中; 将正整数中的奇数保存在栈S2中;最后依次分别将保存在V、Q、S1、S2容器中的整数输出,以’\t’作为分隔; 每个容器中整数输出后换行。

    输入描述:

    输入若干整数, 0作为输入结束;

    输出描述:

    每个容器中整数输出后换行。向量容器按顺序输出,队列按出队列次序输出,栈按出栈次序输出

    输入样例:

    2 5 8 -2 -4 10 -6 9 11 0

    输出样例:

    -2 -4 -6
    2 5 11
    10 8 2
    11 9 5
    ——————————————————————————————————————

    分析:

    队列,向量和栈的基本应用

    代码:

    #include <iostream>
    #include <vector>
    #include <queue>
    #include <stack>
    using namespace std;
    
    
    bool prime(int n)
    {
        if (n < 2) return false;
    
        for (int i=2;i<n/2;i++)
            if ((n%i)==0) return false;
    
        return true;
    }
    
    int main()
    {
        vector<int> V;
        queue<int> Q;
        stack<int> S1, S2;
        int parameter;
    
        cin >> parameter;
        while ( parameter!=0 )
        {
            //负数
            if (parameter < 0)
                V.push_back(parameter);
            //正数
            else
            {
                //素数
                if (prime(parameter))
                    Q.push(parameter);
    
                ((parameter%2) == 1) ? S2.push(parameter) : S1.push(parameter) ;
            }
            cin >> parameter;
        }
            for(int i =0;i < (int)V.size();i++)
                cout << V[i] << "\t";
            cout << endl;
    
            while(!Q.empty())
            {
                cout << Q.front() << "\t";
                Q.pop();
            }
            cout << endl;
    
            while(!S1.empty())
            {
                cout << S1.top() << "\t";
                S1.pop();
            }
            cout << endl;
    
            while(!S2.empty())
            {
                cout << S2.top() << "\t";
                S2.pop();
            }
            cout << endl;
    
    
    
        return 0;
    }
    

    相关文章

      网友评论

          本文标题:STL常用容器使用

          本文链接:https://www.haomeiwen.com/subject/ubibextx.html