typescript冒泡算法
时间: 2024-04-22 15:20:26 浏览: 99
冒泡排序是一种简单的排序算法,它重复地遍历要排序的列表,比较相邻的两个元素,并按照大小顺序交换它们,直到整个列表排序完成。下面是使用TypeScript实现的冒泡排序算法:
```typescript
function bubbleSort(arr: number[]): number[] {
const len = arr.length;
for (let i = 0; i < len - 1; i++) {
for (let j = 0; j < len - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
// 交换位置
[arr[j], arr[j + 1]] = [arr[j + 1], arr[j]];
}
}
}
return arr;
}
```
上述代码中,`bubbleSort`函数接受一个数字数组作为参数,并返回排序后的数组。算法使用两层循环,外层循环控制遍历次数,内层循环用于比较相邻元素并进行交换。如果前一个元素大于后一个元素,则交换它们的位置。通过多次遍历和交换,最大的元素会逐渐“冒泡”到数组的末尾,从而实现排序。
相关问题
用typescript写一个冒泡算法
以下是用 TypeScript 写的冒泡排序算法:
```typescript
function bubbleSort(arr: number[]): number[] {
const len = arr.length;
for (let i = 0; i < len - 1; i++) {
for (let j = 0; j < len - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
[arr[j], arr[j + 1]] = [arr[j + 1], arr[j]];
}
}
}
return arr;
}
```
这个函数接受一个数字数组作为输入,并返回一个经过冒泡排序后的新数组。在内部,它使用了两层循环来遍历数组,并比较相邻元素的大小,如果前一个元素比后一个元素大,则交换它们的位置。通过这个过程,最大的元素会被逐渐“冒泡”到数组的末尾,直到所有元素都被排序完成。
用TS写一个冒泡排序算法
以下是使用 TypeScript 编写的冒泡排序算法:
```typescript
function bubbleSort(arr: number[]): number[] {
const len = arr.length;
for (let i = 0; i < len - 1; i++) {
for (let j = 0; j < len - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
const temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
return arr;
}
// 测试
const arr = [5, 3, 8, 4, 2];
console.log(bubbleSort(arr)); // [2, 3, 4, 5, 8]
```
在上面的代码中,我们定义了一个 `bubbleSort()` 函数来实现冒泡排序。该函数接受一个数字数组作为参数,并返回一个排序后的数组。
在函数内部,我们使用两个嵌套的循环来遍历数组并比较相邻的元素。如果当前元素大于下一个元素,则交换它们的位置。通过这种方式,每次内部循环可以将当前未排序的最大元素“冒泡”到数组的末尾。
最后,我们返回排序后的数组。在本例中,我们使用了一个简单的测试来验证我们的排序算法是否正确工作。
阅读全文