import { generateRandomArray, measureTime, isSort } 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" let arr = generateRandomArray(10) measureTime(bubbleSort,arr.slice()) measureTime(insertionSort,arr.slice()) measureTime(shellSort,arr.slice()) let mergeArr = measureTime(mergeSort, arr.slice()) // 归并排序会返回一个新数组,不对原数组修改 measureTime(quickSort,arr.slice()) measureTime(quickSort2,arr.slice()) // 挖坑法分解数组 measureTime(quickSort3,arr.slice()) // 前后指针分解数组 measureTime(quickSort4,arr) // 不使用递归处理