algorighm/sort/test.mjs

18 lines
834 B
JavaScript

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) // 不使用递归处理