どうも、ちょげ(@chogetarou)です。
配列(array)をソートして並び替える方法を紹介します。
昇順(小さい順)

配列(array)の要素を昇順に並び替えるには、std::sort()を使います。
まず、algorithmをインクルードします。
#include <algorithm>
次に、std::sort()を呼び出します。
std::sort()の第1引数に配列のイテレータの先頭、第2引数に配列のイテレータの末尾を指定します。
//myArray=対象の配列
std::sort(std::begin(myArray), std::end(myArray));
上記のstd::sort()は、配列の要素を昇順に並び替えます。
使用例
#include <iostream>
#include <algorithm>
using namespace std;
int main(void){
int nums[6] = { 11, 2, 8, 20, 7, 4 };
sort(begin(nums), end(nums));
for(int item: nums) {
cout << item << endl;
}
return 0;
}
出力:
2
4
7
8
11
20
降順(大きい順)

配列(array)の要素を降順に並び替えるには、std::sort()とgreater<>()を使います。
まず、algorithmをインクルードします。
#include <algorithm>
次に、std::sort()を呼び出します。
std::sort()の第1引数に配列のイテレータの先頭、第2引数に配列のイテレータの末尾を指定します。
そして、std::sort()の第3引数にgreater<>()を指定します。
//myArray=対象の配列
std::sort(std::begin(myArray), std::end(myArray), std::greater<>());
上記のstd::sort()は、配列の要素を降順に並び替えます。
使用例
#include <iostream>
#include <algorithm>
using namespace std;
int main(void){
int nums[6] = { 11, 2, 8, 20, 7, 4 };
sort(begin(nums), end(nums), greater<>());
for(int item: nums) {
cout << item << endl;
}
return 0;
}
出力:
20
11
8
7
4
2
まとめ
配列(array)の要素を昇順に並び替えるには、std::sort()を使います。
//配列を昇順に並び替える
std::sort(std::begin(myArray), std::end(myArray));
配列(array)の要素を降順に並び替えるには、std::sort()とgreater<>()を使います。
//配列を降順に並び替える
std::sort(std::begin(myArray), std::end(myArray), std::greater<>());
コメント