vector中的升序算法是sort()但降序算法是什么呀?求用法?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vector中的升序算法是sort()但降序算法是什么呀?求用法?相关的知识,希望对你有一定的参考价值。
一个名为v的vector中,降序排序用法如下:
sort(v.begin(), v.end(),greater<int>());
自定义类型排序:
bool SortByM1( const Test &v1, const Test &v2)//注意:本函数的参数的类型一定要与vector中元素的类型一致
return v1.member1 < v2.member1;//升序排列
std::sort(vecTest.begin(),vecTest.end(),SortByM1);
迭代器访问
vector<int>::iterator iter=test.begin();//定义一个可以迭代int型vector的迭代器iter,它指向test的首位
for(;iter!=test.end();iter++) cout<<(*iter);//iter++指的是向后迭代一位,直到iter到超出末端迭代器为止,输出迭代器指向的值。
扩展资料
vector是同一种类型的对象的集合,每个对象都有一个对应的整数索引值。和string 对象一样,标准库将负责管理与存储元素相关的内存。
把 vector称为容器,是因为可以包含其他对象,能够存放任意类型的动态数组,增加和压缩数据。一个容器中的所有对象都必须是同一种类型的。
vector 是一个类模板(class template)。使用模板可以编写一个类定义或函数定义,而用于多个不同的数据类型。因此,可以定义保存string对象的 vector,或保存int值的vector,又或是保存自定义的类类型对象(如Sales_items 对象)的 vector。
vector不是一种数据类型,而只是一个类模板,可用来定义任意多种数据类型。vector 类型的每一种都指定了其保存元素的类型。
参考资料来源:百度百科-vector
参考技术A 可以用 less 和greater方法来配合进行处理,升序和降序。如:
int a[10]=5,6,7,8,9,0,1,2,3,4;
vector <int> v(a, a+10);
sort(v.begin(), v.end(),less<int>());//升
sort(v.begin(), v.end(),greater<int>());//降本回答被提问者和网友采纳 参考技术B 如果vector中的数据类型是int, double这种基本数据类型,那么sort(v.begin(), v.end(), greater<int>()),就可以很好的按照降序排序。
但是,如果是自定义的数据类型,那么重载“<”运算符即可,然后里面规定成大于号,就可以降序排序了。 参考技术C 哪有降序算法,你自己写吧。需要的话升序完成后逆向输出不就得了 参考技术D 如下就实现了降序算法:
bool Comp(const int &a, const int &b)
return a > b ;
void main()
vector v ;
for (i = 0 ; i < 10 ; i++)
v.push_back(i) ;
sort(v.begin(), v.end(), Comp) ;
以上是关于vector中的升序算法是sort()但降序算法是什么呀?求用法?的主要内容,如果未能解决你的问题,请参考以下文章