关于返回std vectorr的问题

C++中vector的排序问题
在用vector排序的时候,发现sort()函数有一个问题,sort排序只会返回排序后的结果,不会返回每个排序后的结果在原来的编号。
//template
bool cmp(const pair &x,const pair &y)
return x.second & y.
//template
void sortVector(vector &value, vector &lable)
lable.clear();
定义一个键值对的数组,第一个Int是键,第二个Int是值
vector<pair& theM
for(vector::size_type i=0; i&::size_type i=0; i上述代码可以解决这个问题,上段代码的调用方式如下:& vector
a.push_back(1);
a.push_back(2);
a.push_back(4);
a.push_back(3);
sortVector( a, lable);
cout&<lable.size()<<
原理其实很简单,就是把数据与编号组成一个键值对,然后把这些键值对定义成一个vector&&变量,再用sort函数对vector排序就OK了。&&</lable.size()<<C++ 如何将容器(vector)作为参数传给一个函数?
我的图书馆
C++ 如何将容器(vector)作为参数传给一个函数?
问题: 生成一个vector &string& Vec 对象,我该如何将该对象传给一个函数(值传递),请问我该怎么定义形参? 回答: 以 vector&int& 为例说明。有多种函数声明方式: 1. void deal( vector&int& vec ); 2. void deal( vector&int&* pvec ); 3. void deal( const vector&int&* pvec ); // 在函数内不能改变 pvec 指向的对象 4. void deal( vector&int&& vec ); 5. void deal( const vector&int&& vec ); // 在函数内不能改变 vec 对象 其对应的调用分别是: 1. deal( vec ); 2. deal( &vec ); 3. deal( &vec ); 4. deal( vec ); 5. deal( vec ); 补充: 3. void deal( const vector&int&* pvec ); //调用时不会调用拷贝构造函数5. void deal( const vector&int&& vec ); // 在函数调用时调用了vector的拷贝构造函数
TA的最新馆藏2012年7月 C/C++大版内专家分月排行榜第二2012年6月 C/C++大版内专家分月排行榜第二
2012年8月 C/C++大版内专家分月排行榜第三2012年7月 C/C++大版内专家分月排行榜第三
2013年6月 Linux/Unix社区大版内专家分月排行榜第二2013年5月 Linux/Unix社区大版内专家分月排行榜第二2013年3月 Linux/Unix社区大版内专家分月排行榜第二2013年1月 Linux/Unix社区大版内专家分月排行榜第二2012年12月 Linux/Unix社区大版内专家分月排行榜第二2012年8月 Linux/Unix社区大版内专家分月排行榜第二2011年12月 Linux/Unix社区大版内专家分月排行榜第二2011年10月 C/C++大版内专家分月排行榜第二2011年10月 Linux/Unix社区大版内专家分月排行榜第二
2012年6月 C/C++大版内专家分月排行榜第三2012年6月 PHP大版内专家分月排行榜第三2012年5月 C/C++大版内专家分月排行榜第三2012年3月 Linux/Unix社区大版内专家分月排行榜第三2012年2月 Linux/Unix社区大版内专家分月排行榜第三2011年11月 C/C++大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。

我要回帖

更多关于 std vector 的文章

 

随机推荐