ソート(英:sort)とは、種類、仕方、方法などを意味する英単語である。
またコンピューター用語としては、「情報の並べ替え」を行うこと。この記事ではこれについて解説する。
概要
プログラミングにおいて、ソートとはバラバラなデータを規則正しく並べ替えること。コンピュータで扱う代表的な問題なので、効率化のためにいろいろなアルゴリズムが開発されてきた。
並のプログラマーはライブラリにソート処理を投げていることが多いため、自前で実装しろといわれると中々思い出せず、分厚い参考書を引っ張り出すハメになる物。
種類
その他多数。ソートの調べ物をするときに「安定ソート」とか「平均計算量」とかに気をつけると楽しい。
例
バブルソート
ソートのアルゴリズムで必ず最初に習うもの。比較回数、交換回数やたら多く、元の並び順によって比較回数が変わるということも無いので効率が悪い。
#include <stddef.h> /* size_t */ void bubble_sort(int *base, size_t nmemb) { size_t i; for (i = 0, nmemb--; i < nmemb; i++) { size_t j; for (j = nmemb; j > i; j--) { /* 後ろの方から始める */ if (base[j - 1] > base[j]) { /* 隣り合った要素を比較し、前が大きければ交換。 */ int tmp; tmp = base[j - 1]; base[j - 1] = base[j]; base[j] = tmp; } /* これを繰り返して小さい物をどんどん前へ持って行く。 */ } /* この時点で一番前の要素が確定する。 */ } return; }
Rubyの配列のsortメソッド
このサイトを支えているRubyでソートをするときはこんな感じになる。
array = array.sort
簡単ですね。これからプログラムを学ぶ人はRubyに入信しなさい。
関連動画
キャラクターの表示順序のためにバケットソートを利用している。アルゴリズムの解説付き。
関連項目
携帯版URL:
http://dic.nicomoba.jp/k/a/%E3%82%BD%E3%83%BC%E3%83%88
http://dic.nicomoba.jp/k/a/%E3%82%BD%E3%83%BC%E3%83%88


ページ番号: 736993
リビジョン番号: 1421359
読み:ソート
初版作成日: 08/11/24 08:36 ◆ 最終更新日: 12/01/26 15:50
編集内容についての説明/コメント: 情報の並べ替えなどについて追記
記事編集 / 編集履歴を閲覧 / Twitterで紹介





JASRAC許諾番号: 9011622001Y31015
ヘッダー:固定
ヘッダー:追従