UNPKG

js-sorts

Version:

js sort

263 lines (187 loc) 5.99 kB
# js_sorts ### 介绍 常用的 JS 排序算法 ### 软件架构 软件架构说明 ### 安装教程 ``` # 安装 1. npm install --save js_sorts # 引入 2. import { bubbleSort, bucketSort } from 'js_sorts' # 使用 3. bubbleSort(array) ``` ### 方法说明 #### Functions <dl> <dt><a href="#bubbleSort">bubbleSort(arr)</a><code>Array</code></dt> <dd><p>方法说明:冒泡排序</p> </dd> <dt><a href="#bubbleSort2">bubbleSort2(传入数组,返回排序)</a><code>Array</code></dt> <dd><ol> <li>改进冒泡排序</li> </ol> </dd> <dt><a href="#bubbleSort3">bubbleSort3(arr)</a><code>Array</code></dt> <dd><ol start="2"> <li>改进冒泡排序</li> </ol> </dd> <dt><a href="#bucketSort">bucketSort(array, num)</a><code>Array</code></dt> <dd><p>方法说明:桶排序</p> </dd> <dt><a href="#countingSort">countingSort(array)</a><code>Array</code></dt> <dd><p>方法说明:计数排序</p> </dd> <dt><a href="#heapSort">heapSort(array)</a><code>Array</code></dt> <dd><p>方法说明:堆排序</p> </dd> <dt><a href="#heapify">heapify(arr, x, len)</a></dt> <dd><p>方法说明:维护堆的性质</p> </dd> <dt><a href="#insertionSort">insertionSort(array)</a><code>Array</code></dt> <dd><p>方法说明:插入排序</p> </dd> <dt><a href="#binaryInsertionSort">binaryInsertionSort(array)</a><code>Array</code></dt> <dd><p>二分插入排序</p> </dd> <dt><a href="#mergeSort">mergeSort(arr)</a><code>Array</code></dt> <dd><p>方法说明:归并排序</p> </dd> <dt><a href="#quickSort">quickSort(array)</a><code>Array</code></dt> <dd><p>方法说明:快速排序 方法一</p> </dd> <dt><a href="#quickSort2">quickSort2(array)</a><code>Array</code></dt> <dd><p>方法说明:快速排序 方法二</p> </dd> <dt><a href="#radixSort">radixSort(arr, maxDigit)</a><code>Array</code></dt> <dd><p>方法说明:基数排序</p> </dd> <dt><a href="#selectionSort">selectionSort(arr)</a><code>Array</code></dt> <dd><p>方法说明:选择排序</p> </dd> <dt><a href="#shellSort">shellSort(arr)</a><code>Array</code></dt> <dd><p>方法说明:希尔排序</p> </dd> </dl> <a name="bubbleSort"></a> #### bubbleSort(arr) ⇒ <code>Array</code> 方法说明:冒泡排序 **Kind**: global function | Param | Type | | --- | --- | | arr | <code>Array</code> | <a name="bubbleSort2"></a> #### bubbleSort2(传入数组,返回排序) ⇒ <code>Array</code> 1. 改进冒泡排序 **Kind**: global function | Param | Type | | --- | --- | | 传入数组,返回排序 | <code>Array</code> | <a name="bubbleSort3"></a> #### bubbleSort3(arr) ⇒ <code>Array</code> 2. 改进冒泡排序 **Kind**: global function | Param | | --- | | arr | <a name="bucketSort"></a> #### bucketSort(array, num) ⇒ <code>Array</code> 方法说明:桶排序 **Kind**: global function | Param | Type | Description | | --- | --- | --- | | array | <code>Array</code> | 数组 | | num | <code>number</code> | 桶的数量 | <a name="countingSort"></a> #### countingSort(array) ⇒ <code>Array</code> 方法说明:计数排序 **Kind**: global function | Param | Type | Description | | --- | --- | --- | | array | <code>Array</code> | 待排序数组 | <a name="heapSort"></a> #### heapSort(array) ⇒ <code>Array</code> 方法说明:堆排序 **Kind**: global function | Param | Type | Description | | --- | --- | --- | | array | <code>Array</code> | 待排序数组 | <a name="heapify"></a> #### heapify(arr, x, len) 方法说明:维护堆的性质 **Kind**: global function | Param | Description | | --- | --- | | arr | 数组 | | x | 数组下标 | | len | 堆大小 | <a name="insertionSort"></a> #### insertionSort(array) ⇒ <code>Array</code> 方法说明:插入排序 **Kind**: global function | Param | Type | Description | | --- | --- | --- | | array | <code>Array</code> | 待排序数组 | <a name="binaryInsertionSort"></a> #### binaryInsertionSort(array) ⇒ <code>Array</code> 二分插入排序 **Kind**: global function | Param | | --- | | array | <a name="mergeSort"></a> #### mergeSort(arr) ⇒ <code>Array</code> 方法说明:归并排序 **Kind**: global function | Param | Type | Description | | --- | --- | --- | | arr | <code>Array</code> | 待排序数组 | <a name="quickSort"></a> #### quickSort(array) ⇒ <code>Array</code> 方法说明:快速排序 方法一 **Kind**: global function | Param | Type | Description | | --- | --- | --- | | array | <code>Array</code> | 待排序数组 | <a name="quickSort2"></a> #### quickSort2(array) ⇒ <code>Array</code> 方法说明:快速排序 方法二 **Kind**: global function | Param | Type | Description | | --- | --- | --- | | array | <code>Array</code> | 待排序数组 | <a name="radixSort"></a> #### radixSort(arr, maxDigit) ⇒ <code>Array</code> 方法说明:基数排序 **Kind**: global function | Param | Description | | --- | --- | | arr | 待排序数组 | | maxDigit | 最大位数 | <a name="selectionSort"></a> #### selectionSort(arr) ⇒ <code>Array</code> 方法说明:选择排序 **Kind**: global function | Param | Type | Description | | --- | --- | --- | | arr | <code>Array</code> | 待排序数组 | <a name="shellSort"></a> #### shellSort(arr) ⇒ <code>Array</code> 方法说明:希尔排序 **Kind**: global function | Param | Type | Description | | --- | --- | --- | | arr | <code>Array</code> | 待排序数组 | ### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request ### 我的相关 - ***使用*** _Readme\_XXX.md_ 来支持不同的语言,`例如` _Readme\_en.md, Readme\_zh.md_ - 我的码云:[https://gitee.com/saqqdy](https://gitee.com/saqqdy) - 我的Github:[https://github.com/saqqdy](https://github.com/saqqdy) - 我的npm:[https://npmjs.com/~saqqdy](https://npmjs.com/~saqqdy) - 我的个人网站 [http://www.saqqdy.com](http://www.saqqdy.com)