当前位置:   article > 正文

stl中unique函数,erase函数(个人笔记向)

stl中unique函数,erase函数(个人笔记向)

unique函数

实质

u n i q u e unique unique函数并不是删除相同的元素,而是不断的 c o p y copy copy后面不同的元素到前面连续相同元素的位置上

应用

#include<bits/stdc++.h>

using namespace std;

int main()
{
    vector<int>a(8);
    for (int i = 0;i <= 7;i++)cin >> a[i];//读取2 4 9 7 7 2 2 1
    sort(a.begin(), a.end());
    for (int i = 0;i < a.size();i++)cout << a[i] << ' ';
    cout << '\n';

    vector<int>::iterator erbe = unique(a.begin(), a.end());

    for (int i = 0;i < a.size();i++)cout << a[i] << ' ';
    cout << '\n';
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

在这里插入图片描述

erase函数

删除函数,与 c l e a r ( ) clear() clear()格式化版删除不同, e r a s e erase erase能从特定位置删除特定数量的元素

基本用法

#include<bits/stdc++.h>

using namespace std;

int main()
{
    //基本用法
    string str = "Hello World!";
    cout << str;
    cout << '\n';
    str.erase(5, 3);
    cout << str;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

在这里插入图片描述

与unique配合

#include<bits/stdc++.h>

using namespace std;

int main()
{
    //与unique配合使用
    vector<int>a(8);
    for (int i = 0;i <= 7;i++)cin >> a[i];//读取2 4 9 7 7 2 2 1
    sort(a.begin(), a.end());
    for (int i = 0;i < a.size();i++)cout << a[i] << ' ';
    cout << '\n';

    vector<int>::iterator erbe = unique(a.begin(), a.end());

    for (int i = 0;i < a.size();i++)cout << a[i] << ' ';
    cout << '\n';

    a.erase(erbe, a.end());

    for (int i = 0;i < a.size();i++)cout << a[i] << ' ';
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/153488
推荐阅读
相关标签
  

闽ICP备14008679号