演算法導論示例 QuickSort

2021-04-07 09:08:03 字數 939 閱讀 3240

/**

* introduction to algorithms, second edition

* 7.1 quicksort

* @author 土豆爸爸

* */

public class quicksort

}

/**

* 找到乙個位置q,使q左邊的元素都比q小,q右邊的元素都比q大

* @param array 待排序陣列

* @param p 開始索引

* @param r 結束索引

* @return 位置q

*/

private static int partition(int array, int p, int r)

}

i++;

//將x交換到所有比x小的元素的後面

array[r] = array[i];

array[i] = x;

return i;

}

}import junit.framework.testcase;

public class quicksorttest extends testcase ;

quicksort.sort(array, 0, array.length - 1);

asserttrue(verifyordered(array));

}

public void testrandomarray()

quicksort.sort(array, 0, array.length - 1);

asserttrue(verifyordered(array));

}

private boolean verifyordered(int array)

}

return true;

}

}

演算法導論示例 InsertSort

introduction to algorithms,second edition 2.1 insertsort author 土豆爸爸 public class insertsort array i 1 key import junit.framework.testcase public clas...

演算法導論示例 MergeSort

introduction to algorithms,second edition 2.3 mergesort author 土豆爸爸 public class mergesort public static void merge int array,int p,int q,int r l i in...

演算法導論示例 PermuteBySorting

introduction to algorithms,second edition 5.3 permute by sorting author 土豆爸爸 public class permutebysorting 根據隨機數組對目標資料進行排序 sort array,p 根據p對array重排 pa...