冒泡排序原理:在一组待排顺序的数据中,从前往后相邻两个数据进行比较,如果前一个数据值较大,后一个数据值较小,那么两个互换位置。执行一次循环之后,继续执行,直到排完位置。
java 实现:
public class BubbleSort {
/**
* 冒泡排序
*
* 它重复地走访过要排序的数列,一次比较两个元素,
* 如果他们的顺序错误就把他们交换过来。
* 走访数列的工作是重复地进行直到没有再需要交换,
* 也就是说该数列已经排序完成。
*/
public static void main(String[] args) {
int[] a={5,8,4,7,6,2,5,1,3};
bubbleSort(a);
}
public static void bubbleSort(int[] ls){
int temp=0;
for(int i=0;i<ls.length-1;i++){ //移动次数为length-1
for(int j=0;j<ls.length-i-1;j++){ //如果不减1 那么出现数组下表越界。
if(ls[j]>ls[j+1]){
temp=ls[j];
ls[j]=ls[j+1];
ls[j+1]=temp;
}
}
}
for(int i=0;i<ls.length;i++){
System.out.println(ls[i]);
}
}
}
第一次写博客,有什么不周之处请各位大大指正,小弟在此十分感谢。