C++ vector和sort的使用

向量 vector 是一种对象实体, 能够容纳许多其他类型相同的元素, 因此又被称为容器

sort的函数的功能是排序,但需要头文件#include的支持,所以在使用该函数时,一定要记得加上头文件。

该程序实现的功能是对数组进行排序并去重。

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
class A {
public:
    A(vector<int> a)
    {
        num = a;
    }
    vector<int> deleteData()
    {
        sort(num.begin(), num.end());    //从小到大排序
        int i = 0, n = 0;
        for (i = 0; i < num.size() - n; i++)  //此处减去n的原因是防止出现越界的问题。
        {
            if (num[i] == num[i + 1])
            {
                num.erase(num.begin() + i);    //删除位置为i的元素
                ++n;
            }
        }
        return num;
    }
    void print(vector<int> str)    //打印数据
    {
        for (auto x : str) {
            std::cout << ' ' << x;
        }
        std::cout << '\n';
    }
    ~A()
    {

    }
private:
    vector<int> num;
};

int main()
{
    //int a;
    //while (std::cin >> hex >> a) {  //把输入的十六进制数转换为十进制
    //    cout << a << endl;
    //}

    vector<int> num{ 11,10,20,40,32,67,40,20,89,300,400,15 };
    A a(num);  //实例化
    a.print(a.deleteData());    getchar();     return 0; }

结果输出:

10 11 15 20 32 40 67 89 300 400

对于vector的其他用法:

vector a;

a.insert(pos,data); //在位置pos处,插入data数据

a.insert(pos,n,data); //在位置pos处,插入n个data数据

a.erase(pos); //删除位置为pos的元素

a.begin(); //返回迭代器的第一个位置

a.end(); //返回容器的最后一个元素后面的元素的迭代器

a.front(); //返回第一个元素

a.max_size(); //返回容器中最大元素的个数

a.pop_back(); //删除最后一个数据

a.push_back(data); //在末尾加入一个数据
原文链接: https://www.cnblogs.com/caozewen/p/12200923.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/192008

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月12日 下午5:54
下一篇 2023年2月12日 下午5:54

相关推荐