import { generateRandomArray, measureTime} from '../util/index.mjs'; import { shellSort } from './shell-sort.mjs'; import insertionSort from './insertion-sort.mjs'; import { bubbleSort } from './bubble-sort.mjs'; import { mergeSort } from './merge-sort.mjs'; import { quickSort, quickSort2, quickSort3, quickSort4, quickSort5, } from './quick-sort.mjs'; const arr = generateRandomArray(100); console.log(arr); measureTime(bubbleSort, arr.slice()); measureTime(insertionSort, arr.slice()); measureTime(shellSort, arr.slice()); measureTime(mergeSort, arr.slice()); // 归并排序会返回一个新数组,不对原数组修改 measureTime(quickSort, arr.slice()); measureTime(quickSort2, arr.slice()); // 挖坑法分解数组 measureTime(quickSort3, arr.slice()); // 前后指针分解数组 measureTime(quickSort4, arr.slice()); // 不使用递归处理 measureTime(quickSort5, arr.slice()); // 去除不必要代码