Java实现简单的冒泡排序
核心思想:把相邻的两个数字两两比较,当一个数字大于右侧相邻的数字时,交换他们的位置,当一个数字和他右侧的数字小于或等于的时候,不交换。(小到大排序)
例如有数组{3,1,5,7,4,2}
-
第一次排序
-
{3,1,5,7,4,2}//开始
-
{1,3,5,7,4,2}//1和3互换
-
{1,3,5,7,4,2}//3和5不变
-
{1,3,5,7,4,2}//5和7不变
-
{1,3,5,4,7,2}//7和4互换
-
{1,3,5,4,2,7}//7和2互换
-
{1,3,5,4,2,7}//最终 最大值7固定
-
-
第二次排序
- {1,3,5,4,2}//注意,因第一次排序已经确定好最大值所以第二次只需要比较前五个
- ······
-
第五次排序
- {1,2,3,4,5,7}//如果有n个元素,我们只需要排序n-1次即可完成排序,此数组只需5次即可。
public static int[] sort(int[] array) {
int temp;
for (int i = 0; i < array.length-1; i++) {
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;
}
}
}
return array;
}
public static void main(String[] args) {
int[] array = {3,1,5,7,4,2};
int[] a = sort(array);
System.out.println(Arrays.toString(a));
}
标签:Java,数字,temp,int,冒泡排序,互换,简单,array,排序
From: https://blog.csdn.net/m0_73834020/article/details/140184013