基本アルゴリズムきほんアルゴリズム:ソート→クイックソート
766 ワード
クイックソートQuick Sort
1.クイックソート(元のアルゴリズム)
基本思想:分治、再帰
アルゴリズムの流れ:
アルゴリズムの欠陥:配列が大きすぎて、再帰が多すぎてスタックがオーバーフローします.
C/C++実装:
1.クイックソート(元のアルゴリズム)
基本思想:分治、再帰
アルゴリズムの流れ:
アルゴリズムの欠陥:配列が大きすぎて、再帰が多すぎてスタックがオーバーフローします.
C/C++実装:
void quick_sort_primitive(int _array[], int first_index, int last_index)
{
if (first_index >= last_index) return;
int first = first_index;
int last = last_index;
int key = _array[first];
while (first < last)
{
while (first < last && _array[last] > key)
{
--last;
}
_array[first] = _array[last];
while (first < last && _array[first] < key)
{
++first;
}
_array[last] = _array[first];
}
_array[first] = key;
quick_sort_primitive(_array, first_index, first - 1);
quick_sort_primitive(_array, first + 1, last_index);
}