合并两个有序的数列并删除重复数据

82 篇文章 0 订阅

  //需要的头文件   
#include <vector>
#include <algorithm>
using namespace std;
  //-------------合并并删除重复数据------------------
    //1   定义数列
    vector<double>  v1,v2,v3;

 //2  v1,v2赋值
  
 //3  v1,v2排序,排序是合并的基础
      sort(v1.begin(),v1.end());
      sort(v2,begin(),v2.end());

  //4 合并数据
      /*  v3的元素个数应该是v1个数与v2个数之和;
          合并时,需要给出:v1和v2的开始位置与结束位置,数据合并后放置的开始位置
        */
    v3.resize(v1.size()+v2.size());
  merge(v1.begin(),v1.end(),v2.begin(),v2.end(),v3.begin());
    
  //删除重复的数据
    /*
     unique函数是把重复数据放到数列末尾,并返回重复数据开始指针;
     erase函数真正实现删除数据操作
    */
    vector<double>::iterator end_unique;
  end_unique=unique(v3.begin(),v3.end());
  v3.erase(end_unique,v3.end());

  //--------------找到最大值和最小值---------------
  //两个函数返回的都是指针
   vector<double>  v1;
   
  double JianLiMax=*max_element(v1.begin(),v1.end());
  double JianLiMin =*min_element(v1.begin(),v1.end());


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值