数组的排序

本文介绍了数组的排序和分类,详细讲解了冒泡排序和选择排序的基本思想,并探讨了两种基础的数组去重方法。
摘要由CSDN通过智能技术生成

一.数组的排序和分类

1.排序: 就是把一个乱序的数组通过我们的处理,
让他变成一个有序的数组

2.排序方式:

     a.冒泡排序

     b.选择排序

二.冒泡排序

1.基本思想:

  比较相邻的元素,如果第一个比第二个人大 就交换他们两个
  对每一对相邻的元素做同样的工作,从开始第一队到结尾最后一对,
  完成此步骤后最后的一个元素是最大的一个元素
  针对所有元素重复以上步骤除了最后一个
  持续每次对越来越少的元素重复以上的步骤,知道没有任何一对数字需要比较

在这里插入图片描述
在这里插入图片描述
下面展示一些 内联代码片

//以下是冒泡排序的部分案例

        /*
           思想:
             由小到大排: 
               挨着两个数,两两比较,如是前一个数比后一个数大,交换位置,一轮之后最大的数沉底,
               在未排序的数中重复以上操作,
                 arr[i]  arr[i+1]
                     temp
                 if(arr[i] > arr[i+1]){
                    var temp = arr[i]
                    arr[i] = arr[i+1]
                    arr[i+1] = temp
                 }

                
                j 冒泡次数       i 循环变量       比较次数
                1                 0                4
                2                 1                3
                3                 2                2
                4                 1                1
                
                元素个数
                n                                 n-i-1


        */


        //第一冒泡,得到最大的一个数,沉底
        // for (var i = 0; i < arr.length; i++) {
   
        //     if (arr[i] > arr[i + 1]) {
   
        //         var temp = arr[i]
        //         arr[i] = arr[i + 1]
        //         arr[i + 1] = temp
        //     }
        // }
        // console.log(arr)

        //第二次冒泡
        // for (var i = 0; i < arr.length - 1; i++) {
   
        //     if (arr[i] > arr[i + 1]) {
   
        //         var temp = arr[i]
        //         arr[i] = arr[i + 1]
        //         arr[i + 1] = temp
        //     }
        // }

        // console.log(arr)

        //第三次冒泡
        // for (var i = 0; i < arr.length - 2; i++) {
   
        //     if (arr[i] > arr[i + 1]) {
   
        //         var temp = arr[i]
        //         arr[i] = arr[i + 1]
        //         arr[i + 1] = temp
        //     }
        // }
        // console.log(arr)


        //第四次冒泡
        // for (var i = 0; i < arr.length - 3; i++) {
   
        //     if (arr[i] > arr[i + 1]) {
   
        //         var temp = arr[i]
        //         arr[i] = arr[i + 1]
        //         arr[i + 1] = temp
        //     }
        // 
  • 3
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值