algorithm

C言語で文字列のクイックソート

コマンドライン引数で受け取った文字列をstrcmpで比較してソートする。 #include <stdio.h> #include <string.h> void quicksort(char *array[], int left, int right) { if (left >= right) return; int l = left; int r = right; char *pivot = array[(left + right) / 2]; //</string.h></stdio.h>…

C言語でクイックソート

Cだといちいちめんどくさい。 #include <stdio.h> void quicksort(int array[], int left, int right) { int l = left; int r = right; int pivot = array[(left + right) / 2]; // 中央からピボットを選択 int buf; while (1) { while (array[l] < pivot) l++; while</stdio.h>…

PHPでクイックソートというものをやってみた

一般的に最も高速なソートのアルゴリズムらしい。 アルゴリズム 1. 適当な数(ピボットという)を選択する (この場合はデータの総数の中央値が望ましい) 2. ピボットより小さい数を前方、大きい数を後方に移動させる (分割) 3. 二分割された各々のデータ…