您的位置:首页 > 其它

multiset综合运用

2018-02-02 13:18 183 查看
multiset.h头文件

/*

作者:Jennifer

时间:2018年1月31日11:27:23

第一版

  */

#ifndef MULTISET_H_INCLUDED

#define MULTISET_H_INCLUDED

#include <iostream>

#include <set>

#include <string>

#include <stdlib.h>

using namespace std;

multiset<int> s;

void menu()

{

    cout<<"                ******欢迎了解set的用法******            "<<endl;

    cout<<endl;

    cout<<"        1.元素的插入                    2.中序遍历"<<endl;;

    cout<<"        3.反序遍历                    4.元素的删除"<<endl;

    cout<<"        5.元素的检索                    6.退出"<<endl;

}

void shuchu()

{

    multiset<int>::iterator it;

    for(it=s.begin();it!=s.end();it++)

    {

        cout<<*it<<"  ";

    }

    cout<<endl;

}

void insert()

{

    int n,shuju;

    cout<<"请输入想要插入元素的个数:"<<endl;

    cin>>n;

    cout<<"请输入"<<n<<"个整数元素(若为重复元素,重复计数):"<<endl;

    for(int i=0;i<n;i++)

    {

        cin>>shuju;

        s.insert(shuju);

    }

    shuchu();

}

void zhongxu()

{

    shuchu();

}

void fanxu()

{

    multiset<int>::reverse_iterator rit;

    for(rit=s.rbegin();rit!=s.rend();rit++)

    {

        cout<<*rit<<"  ";

    }

    cout<<endl;

}

void shanchu()

{

    int place,i,from,to;

    cout<<"1.输出某个固定位置的元素;    2.全部删除"<<endl;

    cout<<"请输入你想操作的菜单编号:"<<endl;

    cin>>i;

    switch(i)

    {

    case 1:

        {

            cout<<"请输入想要删除元素的位置(第一个元素的位置为1):"<<endl;

            cin>>place;

            s.erase(place);

            shuchu();

            break;

        }

    case 2:

        {

            s.clear();

            shuchu();

            break;

        }

    default:

        {

            cout<<"输入有误!"<<endl;

            break;

        }

    }

}

void index()

{

    multiset<int>::iterator it;

    int i;

    cout<<"请输入想要检索的键值:"<<endl;

    cin>>i;

    it = s.find(i);

    if(it!=s.end())

        cout<<*it<<endl;

    else

        cout<<"没有找到"<<endl;

}

/*void zidingyi()

{

}

*/

void quit()

{

    exit(1);

}

#endif // MULTISET_H_INCLUDED

main.cpp

#include "multiset.h"

int main()

{

    int i;

    while(1)

    {

    menu();

    cout<<"请输入想实现的菜单编号:"<<endl;

    cin>>i;

    switch(i)

    {

    case 1:

        {

            insert();

            break;

        }

    case 2:

        {

            zhongxu();

            break;

        }

    case 3:

        {

            fanxu();

            break;

        }

    case 4:

        {

            shanchu();

            break;

        }

    case 5:

        {

            index();

            break;

        }

    case 6:

        {

            quit();

            break;

        }

    default:

        {

            cout<<"输入有误!"<<endl;

            break;

        }

    }

    }

    return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: