冒泡排序

冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。

算法描述:

  • i从0开始,i与i+1比较,如果i>i+1,那么就互换
  • i不断增加,直到i<n-1(n是数组元素的个数,n-1是数组已经最后一个元素) ,一趟下来,可以让数组元素中最大值排在数组的最后面

我们创建一个数组,该数组有5位数字:

let arrays = [2, 5, 1, 3, 4]
//装载临时变量
let temp;
//记录是否发生了置换, 0 表示没有发生置换、 1 表示发生了置换
let isChange;
//外层循环是排序的趟数
for (int i = 0; i < arrays.length - 1; i++) {
    //每比较一趟就重新初始化为0
    isChange = 0;
    //内层循环是当前趟数需要比较的次数
    for (int j = 0; j < arrays.length - i - 1; j++) {
         //前一位与后一位与前一位比较,如果前一位比后一位要大,那么交换
         if (arrays[j] > arrays[j + 1]) {
            temp = arrays[j];
            arrays[j] = arrays[j + 1];
            arrays[j + 1] = temp;
            //如果进到这里面了,说明发生置换了
           isChange = 1;
         }
    }
    //如果比较完一趟没有发生置换,那么说明已经排好序了,不需要再执行下去了
    if (isChange == 0) {
       break;
    }
 }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。