🏠 技術系 プログラミング アルゴリズムInsertion Sort(挿入ソート)の実装練習C/C++ アルゴリズム更新: 2012-04-10 / 作成: 2012-04-10XThreadsFacebookLINEHatena BookmarkPocketInsertion Sort 実装の練習!テストInsertion Sort 実装の練習!void insertion_sort(int vals[], int size) { for (int i = 1; i < size; ++i) { // Insert vals[i] into the sorted sequence vals[0..i-1]. int key = vals[i]; int j = i - 1; while (j >= 0 && vals[j] > key) { vals[j + 1] = vals[j]; --j; } vals[j + 1] = key; } }降順ソート (descending order) にするには、vals[j] > key というところを、vals[j] < key にするだけで OK。テスト#include <iostream> using namespace std; int main() { int vals[] = {5, 2, 4, 6, 1, 3}; const int N = sizeof(vals) / sizeof(int); insertion_sort(vals, N); for (int i = 0; i < N; ++i) { cout << vals[i] << endl; } }参考: Introduction to Algorithms関連記事CppUnit の使い方メモC/C++サンプル: TCP クライアント/サーバーC/C++サンプル: TCP ポートスキャナーC/C++サンプル: エンディアンの判定C/C++ アルゴリズムアルゴリズムへ戻る