zoukankan      html  css  js  c++  java
  • 冒泡排序和选择排序

    冒泡排序和选择排序
    作用和原理
    将数组中的数值,按照执行的顺序,从小到大排序或者从大到小排序,本文中均为从小到大排序。
    冒泡排序
    原理: 相邻的两个单位,比较存储的数据,如果第一个单元的数据较大,就将两个相邻单元,交换存储数据
    核心: 交换存储的数据
    两个相邻的单元,比较数据大小,第一个单元数值较大,就交换两个单元存储的数据
    var num=[5,6,7,1,8,9,3,4,2];
    //这是用的最基础的for循环嵌套的语法写的,主要是排序的思路
    //第一个for循环一次循环确定一个最大的数
    for(var n=0;n<=num.length-1-1;n++){
    //里面的for循环是依次将两个相邻的数进行比较,直到比到前面已经比过的n个数为止(因为后面已经比过的数都已经确定是比前面的数大了,所以不用再比了,这样可以提升程序的执行效率)
    for(var m=0;m<=num.length-1-1-n;m++){
    //if语句将两个相邻的数从小到大排好
    if(num[m]>num[m+1]){
    var x=0;
    x=num[m];
    num[m]=num[m+1];
    num[m+1]=x;
    }
    }
    }
    document.write(num);
     
    选择排序
    核心 : 找到最小值的索引,与起始位置交换数值,先找索引 在交换数值
    代码:
    //选择排序跟冒泡排序的程序相近,但有本质的区别。选择排序是先找到最小数的索引然后与起始值交换数值,而冒泡排序是两个两个依次比较将最大数(或者最小数)沉底
    var num=[5,6,7,1,8,9,3,4,2];
    for(var n=0;n<=num.length-1-1;n++){
    var min=n;
    for(var m=n+1;m<=num.length-1;m++){
    //这里min是最小数的索引而不是最小数,这点要注意!!!
    if(num[min]>num[m]){
    min=m;
    }
    }
    if(min!=n){
    var x=0;
    x=num[min];
    num[min]=num[n];
    num[n]=x;
    }
    }
    document.write(num);
  • 相关阅读:
    20131001国庆作业例2-10,2-11
    20131001国庆作业例2-7,2-8,2-9
    20131001国庆作业例2-4,2-5,2-6
    20131001国庆作业第二章例2-1,2-2,2-3
    20131001国庆作业第一章例1-1
    20130930C语言作业基础练习
    编程心得4
    编程心得3
    编程心得1
    714
  • 原文地址:https://www.cnblogs.com/FireFossil/p/12548689.html
Copyright © 2011-2022 走看看