sort函式用於C++中,對給定區間所有元素進行排序,默認為升序,也可進行降序排序。sort函式進行排序的時間複雜度為n*log2n,比冒泡之類的排序算法效率要高,sort函式包含在頭檔案為#include<algorithm>的c++標準庫中。
基本介紹
- 中文名:sort函式
- 外文名:sort Function
- 頭檔案:#include <algorithm>
- 用途:對給定區間所有元素進行排序
- 所屬範疇:C++
- 功能:升序、降序
sort函式概述
語法
參數
功能
sort類函式總結
函式名 | 功能描述 |
---|---|
sort | 對給定區間所有元素進行排序 |
stable_sort | 對給定區間所有元素進行穩定排序 |
partial_sort | 對給定區間所有元素部分排序 |
partial_sort_copy | 對給定區間複製並排序 |
nth_element | 找出給定區間的某個位置對應的元素 |
is_sorted | 判斷一個區間是否已經排好序 |
partition | 使得符合某個條件的元素放在前面 |
stable_partition | 相對穩定的使得符合某個條件的元素放在前面 |
示例
示例一
#include<iostream>#include<algorithm>using namespace std;int main(){ int a[10]={9,6,3,8,5,2,7,4,1,0}; for(int i=0;i<10;i++) cout<<a[i]<<endl; sort(a,a+10);//指針 for(int i=0;i<10;i++) cout<<a[i]<<endl; return 0;}
示例二
bool compare(int a,int b){ return a>b;}
#include<iostream>#include<algorithm>using namespace std;bool compare(int a,int b){ return a>b;}int main(){int a[10]={9,6,3,8,5,2,7,4,1,0};for(int i=0;i<10;i++)cout<<a[i]<<endl; sort(a,a+10,compare);//在這裡就不需要對compare函式傳入參數了 for(int i=0;i<10;i++)cout<<a[i]<<endl;return 0;}
struct node{ int a; int b; double c;}
bool cmp(node x,node y){ if(x.a!==y.a) return x.a<y.a; if(x.b!==y.b) return x.b>y.b; return x.c>y.c;}