weixin_46384076 2021-07-03 13:38 采纳率: 75%
浏览 43

怎么用C++做列表去重呢?

输入一个列表,去掉列表中重复的数字,按原来次序输出!

输入格式:
在一行中输入列表

输出格式:
在一行中输出不重复列表元素

输入样例:
在这里给出一组输入。例如:

[4,7,5,6,8,6,9,5]
输出样例:
在这里给出相应的输出。例如:

4 7 5 6 8 9

  • 写回答

2条回答 默认 最新

  • will_zhanShmily 2021-07-03 13:41
    关注
    这题应该用二叉树或者散列表做
    #include <iostream>
    #include <set>
    #include <list>
    using namespace std;
    int main()
    {
    int a[]={2, 5, 3, 12, 3, 16, 5, 9, 5};
    int a_length=sizeof(a)/sizeof(int);
    set<int> s;
    pair< set<int>::iterator, bool > p;
    list<int> l;
    for(int i=0;i<a_length;i++){
    p=s.insert(a[i]);
    if(p.second) l.push_back(a[i]);
    }
    cout<<"无输入顺序:";
    for(set<int>::iterator iter=s.begin();iter!=s.end(); iter++)
    cout<<*iter<<" ";
    cout<<"\n记录输入顺序:";
    for(list<int>::iterator iter=l.begin();iter!=l.end(); iter++)
    cout<<*iter<<" ";
    return 0;
    }
    无输入顺序:2 3 5 9 12 16
    记录输入顺序:2 5 3 12 16 9
    Process returned 0 (0x0) execution time : 0.016 s
    Press any key to continue.
    
    评论

报告相同问题?

悬赏问题

  • ¥15 视频编码 十六进制问题
  • ¥15 Xsheii7我安装这个文件的时候跳出来另一个文件已锁定文件的无一部分进程无法访问。这个该怎么解决
  • ¥15 unity terrain打包后地形错位,跟建筑不在同一个位置,怎么办
  • ¥15 FileNotFoundError 解决方案
  • ¥15 uniapp实现如下图的图表功能
  • ¥15 u-subsection如何修改相邻两个节点样式
  • ¥30 vs2010开发 WFP(windows filtering platform)
  • ¥15 服务端控制goose报文控制块的发布问题
  • ¥15 学习指导与未来导向啊
  • ¥15 求多普勒频移瞬时表达式