本帖最後由 李泳霖 於 2024-9-25 18:44 編輯
試運用 sort() 函式,搭配一個自定義的比較方法,對陣列做遞減排序。
這個自定義的比較方法格式為,一個回傳布林值並帶有兩個欄位的自定函式,將從目標陣列中依序抓取前後兩個欄位的成員做比較,因此型態必須與陣列一致。- 34 65 7 -3 6546 -564 0 -11 90 123
複製代碼- #include<iostream>
- #include<cstdlib>
- #include<algorithm>
- using namespace std;
- bool compare(int a, int b)
- {
- return a>b;
- }
- int main()
- {
- int n[10]; //宣告一個大小為10的空陣列
- cout<<"請任意輸入10個整數:"<<endl;
- for(int i=0; i<10; i++)
- cin>>n[i];
- cout<<"排序前:"<<endl;
- for(int i: n)
- cout<<i<<" ";
- cout<<endl;
- sort(n, n+10, compare);
- cout<<"排序後(遞減):"<<endl;
- for(int i: n)
- cout<<i<<" ";
- cout<<endl;
- system("pause");
- return 0;
- }
複製代碼 |