程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 轉載:c++ sort用法,轉載sort用法

轉載:c++ sort用法,轉載sort用法

編輯:C++入門知識

轉載:c++ sort用法,轉載sort用法


sort函數使用模板:

sort包含在頭文件algorithm中

sort(start,end,排序方法)

1.在沒有排序方法時是默認從小到大的排列,例

#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;

}

下面來介紹一下那個排序方法也就是比較函數complare

 1 #include<iostream>
 2 
 3 #include<algorithm>
 4 
 5 using namespace std;
 6 
 7 bool complare(int a,int b)
 8 
 9 {
10 
11  return a>b;
12 
13 }
14 
15 int main()
16 
17 {
18 
19  int a[10]={9,6,3,8,5,2,7,4,1,0};
20 
21  for(int i=0;i<10;i++)
22 
23  cout<<a[i]<<endl;
24 
25  sort(a,a+10,complare);//在這裡就不需要對complare函數傳入參數了,//這是規則
26 
27  for(int i=0;i<10;i++)
28 
29  cout<<a[i]<<endl;
30 
31  return 0;
32 
33 }

例三:

通過上面例一、二的方法雖然實現了從大到小和從大到小的排序,這樣做還是有點麻煩,因為還需要自己編寫告訴程序執行何種排序的原則的函數,c++標准庫強大的功能完全可以解決這種麻煩。

Sortt函數的第三個參數可以用這樣的語句告訴程序你所采用的排序原則

less<數據類型>()//從小到大排序

greater<數據類型>()//從大到小排序

結合本例子,這樣的就可以完成你想要的任何一種排序原則了

 

#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,less<int>());

 for(int i=0;i<10;i++)

 cout<<a[i]<<endl;

 return 0;

}
#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,greater<int>());

 for(int i=0;i<10;i++)

 cout<<a[i]<<endl;

 return 0;

}

 

例四:利用sort函數還可以實現對字符的排序,排序方法大同小異,下面就把程序范例展示一下

#include<iostream>

#include<algorithm>

using namespace std;

int main()

{

 char a[11]="asdfghjklk";

 for(int i=0;i<10;i++)

 cout<<a[i]<<endl;

 sort(a,a+10,greater<char>());

 for(int i=0;i<10;i++)

 cout<<a[i]<<endl;

 return 0;

}

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved