分别使用冒泡法和sort()方法对数组[11,10,1,2,3,8]按照由大到小进行排序
时间: 2023-09-06 18:14:34 浏览: 37
使用冒泡法对数组进行排序的代码如下:
```javascript
var arr = [11, 10, 1, 2, 3, 8];
for (var i = 0; i < arr.length - 1; i++) {
for (var j = 0; j < arr.length - i - 1; j++) {
if (arr[j] < arr[j + 1]) {
var temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
console.log(arr);
```
使用 `sort()` 方法对数组进行排序的代码如下:
```javascript
var arr = [11, 10, 1, 2, 3, 8];
arr.sort(function(a, b) {
return b - a;
});
console.log(arr);
```
这里使用 `sort()` 方法,传入一个比较函数作为参数,函数返回值大于 0 时,表示 a 在 b 前面,小于 0 时,表示 a 在 b 后面,等于 0 时,表示 a 和 b 的相对位置不变。因此,当函数返回值为 b - a 时,表示按照由大到小进行排序。
相关问题
c语言用冒泡法对数组a进行由大到小排序
好的,下面是使用冒泡排序法对数组a进行由大到小排序的C语言代码:
```c
#include <stdio.h>
void bubble_sort(int arr[], int n)
{
int i, j, temp;
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - 1 - i; j++) {
if (arr[j] < arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main()
{
int a[] = {5, 3, 8, 1, 2};
int n = sizeof(a) / sizeof(a[0]);
int i;
printf("before sorting: ");
for (i = 0; i < n; i++) {
printf("%d ", a[i]);
}
bubble_sort(a, n);
printf("\nafter sorting: ");
for (i = 0; i < n; i++) {
printf("%d ", a[i]);
}
return 0;
}
```
在上面的代码中,我们首先定义了一个名为`bubble_sort`的函数,该函数接受一个整数数组和数组的长度作为参数,然后使用冒泡排序算法来对数组进行排序。然后我们在`main`函数中定义了一个整数数组`a`,并且计算出数组的长度`n`。接着,我们输出了排序前的数组元素,然后调用`bubble_sort`函数对数组进行排序。最后,我们输出了排序后的数组元素。
注意,在冒泡排序算法中,我们需要进行`n-1`次比较和交换操作,其中`i`表示已经排好序的元素个数,`j`表示当前需要比较的元素的下标。如果前一个元素比后一个元素大,则交换它们的位置。这样,每次循环都会找到当前未排好序的元素中最大的那个,并将其放到正确的位置上。
请编写程序,使用冒泡排序法对数组[1, 9, 8, 3, 5, 2]进行排序
冒泡排序是一种简单的排序算法,它通过多次遍历数组,比较相邻元素的大小并交换位置,将较大的元素逐渐“冒泡”到数组的末尾。下面是使用冒泡排序法对数组[1, 9, 8, 3, 5, 2]进行排序的程序示例:
```python
def bubble_sort(arr):
n = len(arr)
for i in range(n-1):
for j in range(n-i-1):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
# 测试
arr = [1, 9, 8, 3, 5, 2]
bubble_sort(arr)
print("排序后的数组:", arr)
```
运行以上代码,输出结果为:[1, 2, 3, 5, 8, 9]。