c++算法头文件 sort怎么降序排列数组

如题所述

第1个回答  2014-03-11
// sort algorithm example
#include <iostream> // std::cout
#include <algorithm> // std::sort
#include <vector> // std::vector

bool myfunction (int i,int j) { return (i<j); }

struct myclass {
bool operator() (int i,int j) { return (i<j);}
} myobject;

int main () {
int myints[] = {32,71,12,45,26,80,53,33};
std::vector<int> myvector (myints, myints+8); // 32 71 12 45 26 80 53 33

// using default comparison (operator <):
std::sort (myvector.begin(), myvector.begin()+4); //(12 32 45 71)26 80 53 33

// using function as comp
std::sort (myvector.begin()+4, myvector.end(), myfunction); // 12 32 45 71(26 33 53 80)

// using object as comp
std::sort (myvector.begin(), myvector.end(), myobject); //(12 26 32 33 45 53 71 80)

// print out content:
std::cout << "myvector contains:";
for (std::vector<int>::iterator it=myvector.begin(); it!=myvector.end(); ++it)
std::cout << ' ' << *it;
std::cout << '\n';

return 0;
}
第2个回答  2014-03-11
template <class RandomAccessIterator, class Compare>
void sort (RandomAccessIterator first, RandomAccessIterator last, Compare comp);

这个函数有一个重载,看看这个链接的例子吧。
http://www.cplusplus.com/reference/algorithm/sort/?kw=sort追问

sort(a+n,a);吗

追答

你看了那个例子没呀。。你可以直接写一个函数,传给sort,自己决定排序的方式。

追问

没看,手机太麻烦,那还不如自己写个降序排序函数

追答

#include // std::cout
#include // std::sort
#include // std::vector

bool myfunction (int i,int j) { return (i myvector (myints, myints+8); // 32 71 12 45 26 80 53 33

// using default comparison (operator ::iterator it=myvector.begin(); it!=myvector.end(); ++it)
std::cout << ' ' << *it;
std::cout << '\n';

return 0;
}

好吧,给你copy出来了。

本回答被提问者采纳
第3个回答  推荐于2016-01-29
/*用Arrays类sort()对数组元素进行升序降序排列
*/
import java.util.Arrays;
class SortDemo
{
public static void main(String[] args)
{
int[] vec={0,15,-14,45,20,70};
Arrays.sort(vec);

System.out.println("升序排列:");
for (int i=0;i<vec.length ;i++ )
{
System.out.print(vec[i]+" ");
}
System.out.println("/n");
System.out.println("降序排列:");
for (int i=vec.length-1;i>=0 ;i-- )
{
System.out.print(vec[i]+" ");
}

}
}
第4个回答  2014-03-11
加个predicate做为std::sort的第三参数
相似回答