Teal TealUI

排序算法util/sort

提供常用的排序算法实现。

API
全局
ArrayList<T> 接口

API

全局

函数 描述
bubbleSort(list, ...)<T>(list:ArrayList<T>, compareFn?:function, start?:number, end?:number):ArrayList<T>

对类数组进行冒泡排序。

泛型参数 约束类型 默认类型
T
参数 类型 描述 默认值
list* ArrayList<T>
compareFn (x: T, y: T) => boolean (x: T, y: T) => x < y
start number 0
end number list.length

返回值

类型:ArrayList<T>

返回原类数组。

说明

冒泡排序是稳定排序算法,时间复杂度为 O(n²)。

示例

bubbleSort([1, 3, 5, 4, 3]) // [1, 3, 3, 4, 5]

对类数组进行冒泡排序。

quickSort(list, ...)<T>(list:ArrayList<T>, compareFn?:function, start?:number, end?:number):ArrayList<T>

对类数组进行快速排序。

泛型参数 约束类型 默认类型
T
参数 类型 描述 默认值
list* ArrayList<T>
compareFn (x: T, y: T) => boolean (x: T, y: T) => x < y
start number 0
end number list.length

返回值

类型:ArrayList<T>

返回原类数组。

说明

快速排序是不稳定排序算法,时间复杂度为 O(n*log(n))。

示例

quickSort([1, 3, 5, 4, 3]) // [1, 3, 3, 4, 5]

对类数组进行快速排序。

shellSort(list, ...)<T>(list:ArrayList<T>, compareFn?:function, start?:number, end?:number):ArrayList<T>

对类数组进行希尔排序。

泛型参数 约束类型 默认类型
T
参数 类型 描述 默认值
list* ArrayList<T>
compareFn (x: T, y: T) => boolean (x: T, y: T) => x < y
start number 0
end number list.length

返回值

类型:ArrayList<T>

返回原类数组。

说明

快速排序是不稳定排序算法,适用于数据量不大的情况。

示例

shellSort([1, 3, 5, 4, 3]) // [1, 3, 3, 4, 5]

对类数组进行希尔排序。

ArrayList<T> 接口

表示一个类数组。

泛型参数 约束类型 默认类型
T
字段 类型 描述
[index] : T

获取或设置指定索引的值。

参数 类型 描述 默认值
index* number

返回值

类型:T

T

获取或设置指定索引的值。

length : number

(只读)获取列表的长度。

number

(只读)获取列表的长度。