帶你了解C++中的sort函數(shù)
sort( )
使用方法:
sort(首元素地址(必填),尾元素地址的下一個地址(必填),比較函數(shù)(非必填))
必須加上頭文件:#include< algorithm >和using namespace std;
舉個栗子:
#include<stdio.h> #include<algorithm> using namespace std; int main() { int book[5]={5, 4, 2, 8, 7}; sort(book,book+5); int i; for(i=0;i<5;i++) { printf("%d ",book[i]); } return 0; }
char型數(shù)組
#include<stdio.h> #include<algorithm> using namespace std; int main() { char book[]={'A','L','B','Q'}; sort(book,book+4); int i; for(i=0;i<4;i++) { printf("%c ",book[i]); } return 0; }
我們上面的排序都是由小到大排序,然后我們可以使用cmp來自定義排序方式。
#include<stdio.h> #include<algorithm> using namespace std; bool cmp(int a,int b) { return a>b;//a大于b時,把a放在前面 } int main() { int book[ ]={5,2,0,1,3,1,4}; sort(book,book+7,cmp); int i; for(i=0;i<7;i++) { printf("%d ",book[i]); } return 0; }
char型數(shù)組
#include<stdio.h> #include<algorithm> using namespace std; bool cmp(char a,char b) { return a>b; } int main() { char book[]={'Q','S','A','Z','L'}; sort(book,book+5,cmp); int i; for(i=0;i<5;i++) { printf("%c ",book[i]); } return 0; }
結(jié)構(gòu)體數(shù)組排序
#include<stdio.h> #include<algorithm> using namespace std; struct node { int x,y; }book[10]; bool cmp(node a,node b) { return a.x>b.x;//按x由大到小排序 } int main() { book[0].x=5; book[0].y=2; book[1].x=0; book[1].y=5; book[2].x=2; book[2].y=1; sort (book,book+3,cmp); int i; for(i=0;i<3;i++) { printf("%d %d \n",book[i].x,book[i].y); } return 0; }
#include<stdio.h> #include<algorithm> using namespace std; struct node { int x,y; }book[10]; bool cmp(node a,node b) { if(a.x!=b.x) return a.x>b.x;//x不等時按x排序 else return a.y<b.y;//x相等時按y排序 } int main() { book[0].x=5; book[0].y=2; book[1].x=0; book[1].y=5; book[2].x=2; book[2].y=1; sort (book,book+3,cmp); int i; for(i=0;i<3;i++) { printf("%d %d \n",book[i].x,book[i].y); } return 0; }
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
QT中QByteArray與char、int、float之間的互相轉(zhuǎn)化
本文主要介紹了QT中QByteArray與char、int、float之間的互相轉(zhuǎn)化,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05C數(shù)據(jù)結(jié)構(gòu)之單鏈表詳細(xì)示例分析
以下是對C語言中的單鏈表進行了詳細(xì)的分析介紹,需要的朋友可以過來參考下2013-08-08C++中的三種繼承public,protected,private詳細(xì)解析
我們已經(jīng)知道,在基類以private方式被繼承時,其public和protected成員在子類中變?yōu)閜rivate成員。然而某些情況下,需要在子類中將一個或多個繼承的成員恢復(fù)其在基類中的訪問權(quán)限2013-09-09C語言編程數(shù)據(jù)結(jié)構(gòu)的棧和隊列
本篇文章是C語言編程篇,主要為大家介紹C語言編程中的數(shù)據(jù)結(jié)構(gòu),詳細(xì)的講解了數(shù)據(jù)結(jié)構(gòu)的棧和隊列有需要的朋友可以借鑒參考下,希望可以有所幫助2021-09-09C語言?超詳細(xì)順序表的模擬實現(xiàn)實例建議收藏
程序中經(jīng)常需要將一組數(shù)據(jù)元素作為整體管理和使用,需要創(chuàng)建這種元素組,用變量記錄它們,傳進傳出函數(shù)等。一組數(shù)據(jù)中包含的元素個數(shù)可能發(fā)生變化,順序表則是將元素順序地存放在一塊連續(xù)的存儲區(qū)里,元素間的順序關(guān)系由它們的存儲順序自然表示2022-03-03C++中sln,vcxproj,vcxproj.filters,lib,dll,exe的含義說明
這篇文章主要介紹了C++中sln,vcxproj,vcxproj.filters,lib,dll,exe的含義說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05C語言從猜數(shù)字游戲中理解數(shù)據(jù)結(jié)構(gòu)
猜數(shù)字是興起于英國的益智類小游戲,起源于20世紀(jì)中期,一般由兩個人或多人玩,也可以由一個人和電腦玩。游戲規(guī)則為一方出數(shù)字,一方猜,今天我們來用這個游戲案例理解數(shù)據(jù)結(jié)構(gòu)2022-04-04