首页 > 编程语言 > 详细

冒泡排序

时间:2021-04-24 10:23:39      阅读:20      评论:0      收藏:0      [点我收藏+]

冒泡排序

冒泡排序是一种简单的交换排序,基本思路是: 从数列左边开始扫描排序的元素,在扫描过程中一次对相邻元素进行比较,将较大的元素后移(这是从小到大的排序), 每经过一轮的比较,最大的元素将移到末尾,此时几下元素位置,下一轮只需要比较到此位置即可 (int j=0;j<array.length-i-1;j++)这样就能让每一轮的比较少比一个元素。

从大到小只需要改变if语句里面的交换即可,这里可以有许多改法,其实排序是一种思路, 比如我们下面的代码是写的从小到大,我们现在如果要变成从大到小,我们只需要将最后输出的时候,从最后一个元素开始输出 就能变成从大到小,下面的代码我会写出来。

 package Chapter5;
 ?
 public class NumberSort {
  public static void main(String agrs[]){
  int[] array={0,4,3,7,1,9,2,6,5,8};
  System.out.print("数组排序前的顺序为:");
  for(int i=0;i<array.length;i++){           //输出数组中的每一个元素
  System.out.print(array[i]+" ");
  }
 
  int temp;                                 //存储交换的变量值
  for(int i=0;i<array.length-1;i++){     //比较n-1轮
  for(int j=0;j<array.length-i-1;j++){  //每轮比较
  if(array[j]>array[j+1]){      //从小到大的算法
  temp=array[j];
  array[j]=array[j+1];
  array[j+1]=temp;
  }
  }
  }
  System.out.println();
  System.out.print("数组排序后的顺序为:"); //输出数组中的每个元素(从小到大)
  for(int i=0;i<array.length;i++){
  System.out.print(array[i]+" ");
  }
 
  /*System.out.print("数组排序后的顺序为:"); //输出数组中的每个元素(从大到小)
  for(int i=array.length-1;i>=0;i--){   //i=array.length-1这里减一是因为array.length==10,而数组是0~9
  System.out.print(array[i]+" ");
  }*/
 
  }
 }
 ?

 

冒泡排序

原文:https://www.cnblogs.com/zhangzhangbuhuixiedaima/p/14695987.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!