/**
* 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...