sort排序,一學就會

2021-10-09 00:21:15 字數 2272 閱讀 1918

對於乙個陣列,通過對陣列中的元素進行交換,我們可以將陣列中的元素按從大到小或從小到大的順序排列。

當我們希望對陣列中的元素進行排序時,c++為我們提供了sort,有了sort這種工具,我們將不會再糾結排序的過程。

在我們需要用sort時,需要先引入乙個演算法的庫-----,sort可以對任何型別的元素進行排序,包括我們自己定義的結構體。

用sort時在c++檔案開始位置加入:

#include
下面這段**展示的就是sort的一般用法,預設是從小到大進行排序:

#include#includeusing namespace std;

int main()

; sort(arr, arr + 5);

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

return 0;

}

輸出:

1 2 3 4 5

如果希望arr中的元素按照從大到小排序(或按照某一規則進行排列),我們則可以再為sort傳入第三個引數-----「排序方法」:

sort(arr,arr+5,greater());
其中,greater表示「更大」的意思,表示待排序陣列的資料型別為整型,**就會變為:

#include#includeusing namespace std;

int main()

; sort(arr, arr + 5,greater());

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

return 0;

}

輸出:

5 4 3 2 1

例1:前n名的平均數

輸入一共分三行,第一行輸入班級人數,第二行輸入所有成績,第三行輸入想要計算的n。輸出平均成績。

#include#includeusing namespace std;

int main()

sort(arr, arr + n, greater());

scanf_s("%d", &k);

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

printf("%.2f", 1.0 * sum / k);

return 0;

}

結果:

1093 85 77 68 59 100 43 94 75 82

493.00

例2:分數段統計

現如今要求將n名同學的考試成績放在a陣列中,各分段的人數存到b陣列中,成績為100的人數存到b[1]中,成績為90到99的存到b[2]陣列中,以此類推,輸出所有成績及每個分段的人數。

#include#includeusing namespace std;

int main()

sort(arr, arr + n, greater());

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

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

else if (arr[i] >= 90)

else if (arr[i] >= 80)

else if (arr[i] >= 70)

else if (arr[i] >= 60)

else

}for (int i = 1; i <= 6; i++)

return 0;

}

輸入:

1093 85 77 68 59 100 43 94 75 82

輸出:1 2 2 2 1 2

例3.有趣的整數排序

如果我們想要按照除3餘數小的優先規則進行排序,則又會用到bool函式來判斷排序條件:

#include#includeusing namespace std;

bool cmp(int x,int y)

else }

int main()

sort(num, num + n, cmp);

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

else

}return 0;

}

輸入:

101 2 3 5 8 9 11 23 27 49

輸出:3 9 27 1 49 2 5 8 11 23

一學就會的選品方法

一 產品尺寸 產品的尺寸和重量將直接影響庫存成本以及物流和運輸。對於同一產品,尺寸也會影響客戶的體驗。因此,合適的產品尺寸非常重要。要求 一般要求 不能超過45cm 質量要求 小於38cm 產品重量 基本要求 輕於2.26千克 質量要求 輕於1.36千克 二 產品定價 太高的產品消費者購買的時候就需...

spring事物管理一學就會

髒讀 乙個未提交事務讀取到另乙個未提交事務的資料。不可重複讀 乙個未提交事務讀取到另一提交事務修改資料 虛讀 乙個未提交事務讀取到另一提交事務新增資料 spring中的事物的實現分為兩種,一種是程式設計式事務管理,一種是宣告式事務管理 使用 宣告式事物是通過aop的原理進行實現的。transacti...

HTML CSS樣式設定 CSS一學就會

html css樣式設定 css cascading style sheets 層疊樣式設定表。網頁的展示效果跟其排版有非常大的關係。排版則主要依靠css 來設定 調節。以下說css 與html 的聯合使用的過程 1 新建css 檔案 一般放在與 html 檔案同一路徑下的 css目錄中 2 在ht...