【发布时间】:2014-08-25 22:36:33
【问题描述】:
如何使用 sort() 函数从第 i 个索引到第 j 个索引对向量元素进行排序。假设我有一个向量,它的元素是 {3,1,2,4,5,7,6,10,9 }.我想从第 i 个索引排序到第 j 个索引。我已经这样做了:
#include<algorithm>
#include<vector>
#include<iostream>
using namespace std;
int main()
{
vector<int>vc;
vc.push_back(10);
vc.push_back(9);
vc.push_back(8);
vc.push_back(7);
vc.push_back(6);
vc.push_back(5);
vc.push_back(4);
vc.push_back(3);
vc.push_back(2);
sort(vc.begin()+2,vc.begin()+6);
for(int i=0;i<9;i++)
cout<<vc[i]<<" ";
}
但这不是排序。我只想对中间元素进行排序。我该怎么做?
【问题讨论】:
-
“不工作”是什么意思?出了什么问题?
-
不要通过随机猜测来编程。学习。思考。知道。
<bits/stdc++.h>对您来说不是有效的标头。 -
#include<bits/stdc++.h>是怎么回事? -
您正在对元素进行排序
{4,5,7}并且它们已经排序。 -
@user3700648:您发布的代码完全按照您的要求执行。 Live demo on ideone.com