コメント
このコメントは、【Wiki】スクリプト/汎用関数/配列をソートするへのコメントです。コメントの内容
コメントの内容(一番最初の投稿)
aoihikawa(投稿日:2017/04/05 21:04/05/17)
def pivot2(arr,index,i,j,ord) k = i + 1 while (k <= j) && (arr[i][index] == arr[k][index]) do k = k + 1; end if k > j then return -1; end if ord if arr[i][index] >= arr[k][index] then return i; end else if arr[i][index] <= arr[k][index] then return i; end end return k end def partition2(arr,index,i,j,x,ord) l = i; r = j while l <= r if ord while (l <= j) && (arr[l][index] < x) do l = l + 1; end while (r >= i) && (arr[r][index] >= x) do r = r - 1; end else while (l <= j) && (arr[l][index] > x) do l = l + 1; end while (r >= i) && (arr[r][index] <= x) do r = r - 1; end end if l <= r t = arr[l]; arr[l] = arr[r]; arr[r] = t l = l + 1; r = r - 1 end end return l end def quickSort2(arr,index,i,j,ord) if i != j p = pivot2(arr,index,i,j,ord) if p != -1 k = partition2(arr,index,i,j,arr[p][index],ord) arr = quickSort2(arr,index,i,(k - 1),ord) arr = quickSort2(arr,index,k,j,ord) end end return arr end #使用時はこの関数のみ #第1引数:配列 第2引数:ソート対象のインデックス 第3引数:昇順 true / 降順 false def sortArray2(arr,index,ord) return quickSort2(arr,index,0,(getArrayLength(arr) - 1),ord) end
多次元配列用のソート関数を用意しました
こちらをご利用頂けましたら幸いです
多次元配列用のソート関数を用意しました
こちらをご利用頂けましたら幸いです
<サンプル>