【学习】从小到大数组排序

本文通过一个具体的JavaScript代码示例,详细介绍了冒泡排序算法的实现过程。该算法通过对数组元素进行比较和交换,逐步将最小的元素移到数组的一端,从而完成整个数组的排序。代码中展示了如何使用内嵌的for循环来实现这一过程,并在控制台输出排序后的结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title></title>
</head>
<body>
<button onclick="commit()">确定</button>
</body>
<script>
  function commit() {
  var arr = [1,4,8,9,6,3]
    var min = 0
    var j = 0
  for (var i = 0;i <arr.length; i++) {
//   for ( j = i + 1 ; j < arr.length; j++ ) {
//       if (arr[i] > arr[j]) {
//         min = arr[j];
//         arr[j]=arr[i];
//         arr[i]=min;
//
//       }
//
//   }
    for ( j = 0 ; j < arr.length-i-1; j++ ) {
      if (arr[j] > arr[j + 1]) {
        min = arr[j];
        arr[j]=arr[j+1];
        arr[j+1]=min;

      }

    }
}
    console.log(arr)


  }


</script>
</html>
### 冒泡排序实现数组从小到大排序 冒泡排序是一种基础的比较排序算法,其核心思想是通过多次遍历数组,将相邻元素进行比较和交换,使得每一轮遍历后最大的元素“冒泡”至数组末尾。该方法适用于一维数组的升序排列[^1]。 以 Java 语言为例,实现一个整型数组的升序排列代码如下: ```java public class BubbleSort { public static void main(String[] args) { int[] arr = {18, 13, 50, 15, 4, 17, 18}; System.out.println("排序数组:"); for (int i : arr) { System.out.print(i + " "); } int temp; for (int i = 0; i < arr.length - 1; i++) { for (int j = 0; j < arr.length - 1 - i; j++) { if (arr[j] > arr[j + 1]) { // 交换位置 temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } System.out.println("\n排序数组:"); for (int i : arr) { System.out.print(i + " "); } } } ``` 上述代码中,外层循环控制排序轮数,内层循环负责相邻元素的比较与交换。由于每一轮排序会将一个最大值放置在数组末尾,因此内层循环的边界随外层变量递减,避免重复比较已排序部分[^1]。 对于二维数组,冒泡排序同样适用,但需要额外的外层循环来确保所有行数据都能被完全排序。例如,在对每一行进行独立排序时,可能需要多轮比较才能将最小值移动到正确的位置[^2]。 如果使用 Python 实现类似功能,可以采用选择排序的思想,即每次从数组中找出最小值并将其放置在新数组的最前面,依次构建有序序列[^3]。Python 示例代码如下: ```python def selection_sort(arr): newArr = [] for _ in range(len(arr)): smallest_index = 0 for j in range(1, len(arr)): if arr[j] < arr[smallest_index]: smallest_index = j newArr.append(arr.pop(smallest_index)) return newArr # 示例调用 arr = [5, 3, 6, 2, 10] sorted_arr = selection_sort(arr.copy()) print("排序数组:", sorted_arr) ``` 该方法虽然不是冒泡排序,但同样实现了数组从小到大排序功能,并展示了不同语言下排序逻辑的多样性。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值