自学内容网 自学内容网

八大排序--01冒泡排序

 假设有一组数据 arr[]={2,0,3,4,5,7}

方法:开辟两个指针,指向如图,前后两两进行比较,大数据向后冒泡传递,小数据换到前面。

一次冒泡后,数组中最大的数据将到达正确位置。

for(int i=0;i<arr.length-1;i++) {
if(arr[i]>arr[i+1]) {
//进行交换
int temp =arr[i];
arr[i]=arr[i+1];
arr[i+1]=temp;
}
}

要想让所有数据 到达正确位置,循环进行j次:

for(int j=0;j<arr.length;j++) {
for(int i=0;i<arr.length-1-j;i++) {
if(arr[i]>arr[i+1]) {
//进行交换
int temp =arr[i];
arr[i]=arr[i+1];
arr[i+1]=temp;
}
}
}

完整代码:

package Java.start;

import java.util.Arrays;

import com.sun.xml.internal.bind.v2.runtime.unmarshaller.XsiNilLoader.Array;

public class BubbleSort {
  //冒泡排序
public static void main(String[] args) {
int[] arr= {2,0,3,4,5,7};
sort(arr);
System.out.println(Arrays.toString(arr));

//for(int i=0;i<arr.length;i++) {
//System.out.println(arr[i]);
//}

}
public static void sort(int[] arr) {
for(int j=0;j<arr.length;j++) {
for(int i=0;i<arr.length-1-j;i++) {
if(arr[i]>arr[i+1]) {
//进行交换
int temp =arr[i];
arr[i]=arr[i+1];
arr[i+1]=temp;
}
}
}
}

}

结果:

 


原文地址:https://blog.csdn.net/m0_74977981/article/details/142720062

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!