c++小白求助!用sort对vector排序的问题

代码如下:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
vector<int> v1;
int k = 0;
while (cin >> k)
{
v1.push_back(k);
if (cin.get() == '\n')
break;
}
sort(v1.begin(),v1.end());
for (vector<int>::iterator it = v1.begin(); it != v1.end(); ++it)
{
cout << *it << endl;
}
system("pause");
return 0;
}
运行过程中sort没有发挥排序的作用,结果仍是原序列,不知道怎么回事,希望各位大神指点下

第1个回答  2018-11-16
从程序逻辑上来看,你的程序是没有问题的。有可能是你输入的数据已经是从小到大排好序了的,尝试着输入无序的数据,看看排序结果。本回答被网友采纳
第2个回答  2018-11-15
排序是从小到大 你输入从大到小的数

c++小白求助!用sort对vector排序的问题
从程序逻辑上来看,你的程序是没有问题的。有可能是你输入的数据已经是从小到大排好序了的,尝试着输入无序的数据,看看排序结果。

c++用sort对vector排序问题
sort(a.begin(), a.end(), compare);return 0;}

c++用sort对vector排序问题
我在我的电脑上编译执行了,程序没有错,所以应该是你的电脑环境有问题。你可以单步调试你的程序,看是哪一行出错了。

c++,vector用sort排序的一个问题
兄弟,写简单点吧,指针不能乱用 int cmp ( const A& a,const A& b ){ return a.a>b.a;}

c++ vector 排序 sort 用不起来 我用的是code::blocks
1)手动列出所有字符串:vector <string> words("the", "quick", "red", "fox", "jumps", "over", "the", "slow", "red", "turtle");2)利用boost库的split来分割字符串:\/\/ 其他头文件自己加上#include <boost\/algorithm\/string.hpp>using namespace boost;vector <string> words;split...

C++中 std::sort 时间复杂度是多少? 是用来sort vector的
一般用的都是快速排序,最好、正常和平均时间复杂度都为O(nlog2n),2为底的对数,最坏情况就是数据已经或者近乎有序,当然就是O(n^2)了

vector c++ 中的sort函数的调用时的比较函数该如何写(若比较的是两个...
例如你的结构体是 typedef struct{ ...}MyStru;int compareFunc(const void* arg1, const void* arg2){ MyStru* pStru1 = (MyStru*)arg1;MyStru* pStru2 = (MyStru*)arg2;\/\/ 比较他们的大小,返回一个 < 0 的是升序排序, > 0降序。\/\/ return } ...

c++输入10个数存入vector中,升序排序后输出. 提示:使用sort函数
include <iostream> include <algorithm> include <functional> include <vector> using namespace std;class myclass { public:myclass(int a, int b):first(a), second(b){} int first;int second;bool operator < (const myclass &m)const { return first < m.first;} };bool less_...

c++读入一些整数,对其进行从小到大的排序要求使用vector和sort...
std;int main(){ int x;vector<int> a;\/\/定义一个容器 while(cin>>x&&x!='e'){ a.push_back(x);\/\/变量x在容器a尾部入栈 } sort(a.begin(),a.end());\/\/排序 for(int i=0;i<a.size();i++)\/\/输出(a.size():读取容器a的元素个数)cout<<a[i]<<" ";return 0;} ...

C++vector排序问题。
全局函数 bool upSort(Sprite* v1, Sprite* v2){ return v1->valuse > v2->valuse;} 调用 std::sort(spriteVector.begin(), spriteVector.end(), upSort);

相似回答