C++並べ替えシリーズ(二)交換並べ替えの簡単な並べ替え
2715 ワード
本文は筆者が個人の理解に基づいて書いたので、間違いは避けられないので、レンガを撮ることを歓迎します!
任意に転載、修正することができて、転載する時出典を明記するかどうか、あなたによって決まります!
交換ソートは交換ソートの中で最も簡単で、最も理解しやすいソートアルゴリズムであり、人の習慣的な思考に近いはずだ.データ全体をスキャンし、0番目の要素から、以降の要素と1つずつ比較し、ソートルール(小さいものから大きいものまたは大きいものから小さいもの)に従って順番を交換し、a番目の要素を比較した後、a+1番目の要素を比較します.
任意に転載、修正することができて、転載する時出典を明記するかどうか、あなたによって決まります!
交換ソートは交換ソートの中で最も簡単で、最も理解しやすいソートアルゴリズムであり、人の習慣的な思考に近いはずだ.データ全体をスキャンし、0番目の要素から、以降の要素と1つずつ比較し、ソートルール(小さいものから大きいものまたは大きいものから小さいもの)に従って順番を交換し、a番目の要素を比較した後、a+1番目の要素を比較します.
1 template <typename T>
2 void swap(T& lhs, T& rhs)
3 {
4 T tmp = lhs;
5 lhs = rhs;
6 rhs = T;
7 }
8
9 template <template T>
10 void simple_exchange_sort(T v[], const int sz)
11 {
12 for (int i=0; i < sz-1; ++i)
13 {
14 for (int j=i+1; j < sz; ++j)
15 {
16 if (v[i] > v[j])
17 {
18 swap<T>(v[i], v[j]);
19 }
20 }
21 }
22 }