冒泡排序与选择排序

冒泡排序:
 <script>
        var balls=[12,23,4,5,677,8889]
        for(var i=0;i<balls.length;i++){
            for(var j=0;j<balls.length-1-i;j++){
                if(balls[j]>balls[j+1]){
                    var temp=balls[j];
                    balls[j]=balls[j+1];
                    balls[j+1]=temp;
                    console.log(balls);
                }
            }
        }
    </script>

 选择排序:

方法一:

 <script>
        var nums = [3, 4, 9, 6, 7, 8, 5]
        for(var j=0;j<nums.length;j++){
            //假设j下标所在的位置数字最小
            var minIndex=j;
            for(var i=j+1;i<nums.length;i++){
                if(nums[i]<nums[minIndex]){
                    minIndex=i;
                } 
            }
            var tmp=nums[j];
            nums[j]=nums[minIndex];
            nums[minIndex]=tmp;
         }
         console.log('选择排序之后的:',nums)
    </script>

 

方法二:

 <script>
        var nums = [3, 4, 9, 6, 7, 8, 5]
        document.write('开始', nums)
        var minIndex = 0;
        for (var i = 1; i < nums.length; i++) {
            if (nums[i] < nums[minIndex])
                minIndex = i
        }
        var tmp = nums[0];
        nums[0] = nums[minIndex]
        nums[minIndex] = tmp;
        document.write('第一轮结束', nums, '<br>')

        var minIndex = 1;
        for (var i = 2; i < nums.length; i++) {
            if (nums[i] < nums[minIndex])
                minIndex = i
        }
        var tmp = nums[1];
        nums[1] = nums[minIndex]
        nums[minIndex] = tmp
        document.write('第二轮结束', nums, '<br>')

        var minIndex = 2;
        for (var i = 3; i < nums.length; i++) {
            if (nums[i] < nums[minIndex])
                minIndex = i
        }
        var tmp = nums[2];
        nums[2] = nums[minIndex]
        nums[minIndex] = tmp
        document.write('第三轮结束', nums, '<br>')
    </script>

 

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
冒泡排序选择排序都是常见的排序算法,下面我会分别介绍一下它们的原理和实现。 冒泡排序是通过相邻元素的比较和交换来实现排序的。它的基本思想是从待排序的序列中依次比较相邻的两个元素,如果顺序不正确则进行交换,直到整个序列都有序。具体的实现步骤如下: 1. 从序列的第一个元素开始,依次比较相邻的两个元素。 2. 如果前一个元素大于后一个元素,则交换它们的位置。 3. 继续向后比较,直到最后一个元素。 4. 重复上述步骤,每次比较范围缩小一个元素,直到整个序列有序。 选择排序是通过不断地选择最小(或最大)的元素,并将其放到已排序序列的末尾来实现排序的。它的基本思想是从待排序的序列中选择一个最小(或最大)的元素,将其放到已排序序列的末尾,然后再从剩余未排序的序列中选择最小(或最大)的元素,重复这个过程,直到整个序列有序。具体的实现步骤如下: 1. 遍历整个序列,找到最小(或最大)的元素。 2. 将最小(或最大)的元素与当前遍历位置的元素交换位置。 3. 继续向后遍历,重复上述步骤,每次遍历范围缩小一个元素,直到整个序列有序。 冒泡排序选择排序都是比较简单直观的排序算法,但是它们的效率相对较低,当待排序序列较大时,它们的性能会下降。在实际应用中,可以考虑使用更高效的排序算法,如快速排序、归并排序等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值