C/C++培训
达内IT学院
400-996-5531
在C++开发中vector如何进行局部排序
对于vector的全体排序,我们知道sort(vv.begin(),vv.end())来进行的。
但是对于如果是局部排序的话,比如,vector有100个元素,但我只想对10-80之间的数进行排序,如何处理?
这里考虑使用迭代器,一个迭代器指向10的位置,一个迭代器指向80的位置即可:
#include<stdio.h>
#include<iostream>
#include<vector>
#include<stdlib.h>
#include<algorithm>
using namespace std;
int main(){
int i,j;
vector<int>vv;
for(i=0;i<100;i++){
vv.push_back(rand()%100);
}
vector<int>::iterator left,right;
left = right = vv.begin();
for(i=1;i<10;i++){
left ++;
}
for(i=1;i<80;i++){
right ++;
}
sort(left,right);
for(i=0;i<100;i++){
printf("%d ",vv[i]);
}
return 0;
}
免责声明:内容和图片源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容
填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!
Copyright © 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有
Tedu.cn All Rights Reserved