# C++ STL之排序算法

sort是一种不稳定排序，使用时需要包含头文件algorithm

greater<data-type>(),使用库函数的时候要包含头文件functional。

`#include<algorithm>`

`#include<functional>`

``` 1 #include<iostream>
2 #include<algorithm>
3 #include<functional>
4 using namespace std;
5 int main()
6 {
7     int a[9]={454,45564,6,3,5,65,32,53,5};
8     //升序
9     sort(a,a+9,less<int>());
10     cout<<"升序排序结果"<<endl;
11     for(int i=0;i<9;i++)
12     {
13         cout<<a[i]<<endl;
14     }
15     //降序
16     sort(a,a+9,greater<int>());
17     cout<<"降序排序结果"<<endl;
18     for(int i=0;i<9;i++)
19     {
20         cout<<a[i]<<endl;
21     }
22     return 0;
23 }```

```bool cmp(int a,int b)
{
return a>b;
}
sort(a,a+9,cmp);```

```bool cmp(int a,int b)
{
return a<b;
}
sort(a,a+9,cmp); ```

``` 1 #include<iostream>
2 #include<algorithm>
3 using namespace std;
4 int main()
5 {
6     int num[10]={3,4,6,7,3,5,2,9,7,8};
7     for(int i=0;i<10;i++)
8     {
9         cout<<num[i]<<" ";
10     }
11     cout<<endl;
12     //partial_sort
13     //void partial_sort(_RanIt _First, _RanIt _Mid, _RanIt _Last, _Pr _Pred)
14     //选出[_First, _Last)之间的_Mid-_First个数进行排序，放在_First到_Mid位置，剩下的在_Mid到_Last的元素不排序，pred是排序方式
15     partial_sort(num,num+3,num+10);
16     for(int i=0;i<10;i++)
17     {
18         cout<<num[i]<<" ";
19     }
20     cout<<endl;
21
22     //partial_sort_copy
23     //_RanIt partial_sort_copy(_InIt _First1, _InIt _Last1,_RanIt _First2, _RanIt _Last2, _Pr _Pred)
24     int shuzi[10]={3,4,6,7,3,5,2,9,7,8};
25     int result1[3];
26     int result2[12];
27     partial_sort_copy(shuzi,shuzi+10,result1,result1+3);
28     for(int i=0;i<10;i++)
29     {
30         cout<<shuzi[i]<<" ";
31     }
32     cout<<endl;
33     for(int i=0;i<3;i++)
34     {
35         cout<<result1[i]<<" ";
36     }
37     cout<<endl;
38
39     partial_sort_copy(shuzi,shuzi+10,result2,result2+12);
40     for(int i=0;i<10;i++)
41     {
42         cout<<shuzi[i]<<" ";
43     }
44     cout<<endl;
45     for(int i=0;i<12;i++)
46     {
47         cout<<result2[i]<<" ";
48     }
49     cout<<endl;
50     return 0;
51 }```

162 篇文章43 人订阅

0 条评论

## 相关文章

### codevs 1213 解的个数

1213 解的个数 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 已知整数x...

3394

1746

### 【编程题】Java编程题一（10道）

【编程题】Java编程题一（10道） 【程序1】 题目：古典问题：有一对兔子，从出生后第3个月起每个月都生一对兔子，小兔子长到第三个月后每个月又生一对兔子，...

4448

### 【Java入门提高篇】Day33 Java容器类详解（十五）PriorityQueue详解

今天要介绍的是基础容器类（为了与并发容器类区分开来而命名的名字）中的另一个成员——PriorityQueue，它的大名叫做优先级队列，想必即使没有用过也该有所...

1211

2667

3728

3978

2115

21910

1522