set

/*数字去重和排序*/

#include<bits/stdc++.h>

using namespace std;

int main()
{
    set<int >s;
    int m;
    while(~scanf("%d",&m))
    {
        s.clear();
        int n;
        for(int i = 0; i < m; i ++)
        {
             scanf("%d",&n);
             s.insert(n);
        }

    set<int >::iterator it;
    printf("%d\n",s.size());

    bool first = true;
    for(it = s.begin();it != s.end();it++)
    {

        if(!first)
            printf(" ");
            printf("%d",*it);
            first = false;
    }
    printf("\n");
    }
    return 0;
}

set 本质是图

还有iteration 迭代器

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

{

  printf("%d" *it);

}

迭代器就相当于有一个i参与了循环

set的话如果有重复的话自己会删除然后排序,非常非常舒服

posted @ 2021-09-27 21:01  爽爽子的秃头生活  阅读(42)  评论(0)    收藏  举报