クイックソート     Last modified: May 15, 2002
# quick_sort
# 配列 a[0] 〜 a[n-1] に n 個の数値データが入っているのを整列させる
# 使用例: quick_sort(a, 0, n-1)

function quick_sort(a, f, l,     i, j, x, t)
{
   x = a[int((f+l)/2)]
   i = f
   j = l
   for (;;) {
       while (a[i] < x) {
           i++
       }
       while (x < a[j]) {
           j--
       }
       if (i >= j) {
           break
       }
       t = a[i]
       a[i] = a[j]
       a[j] = t
       i++
       j--
   }
   if (f  < i-1) {
       quick_sort(a, f , i-1);
   }
   if (j+1 < l) {
       quick_sort(a, j+1, l);
   }
}

・ 直前のページへ戻る  ・ E-mail to Shigenobu AOKI