冒泡排序:
一种排序的方式,对要进行排序的数据中相邻的数据进行两两比较,将较大的数据放在后面
依次对所有的数据进行操作,直至所有的数据按照要求完成排序.
import java.util.Arrays;
public class arrays {
public static void main(String[] args) {
int arr[]={24,69,80,57,13};
System.out.println("排序前"+ Arrays.toString(arr));
Arrays.sort(arr);
System.out.println("排序后"+ Arrays.toString(arr)); //直接就可以冒泡排序s
}
}
简单型的代码
package arrays;
public class arrays之冒泡排序 {
public static void main(String[] args) {
// TODO 自动生成的方法存根
//定义一个数组
int arr[]= {24,69,80,57,13};
System.out.println("排序前:"+arraytoString(arr));
for (int j = 0; j <=arr.length-1; j++) {
for (int i = 0; i < arr.length-1-j; i++) {
if(arr[i]>arr[i+1]) {
int a = arr[i];
arr[i]=arr[i+1]; //交换顺序
arr[i+1]=a; //最后一位就等于最大值a
}
}
}
System.out.println("排序后:"+arraytoString(arr));
System.out.println("排序后的数组值:"+arr[0]+" "+arr[1]+" "+arr[2]+" "+arr[3]+" "+arr[4]);
}
//把数组中的元素按照指定的规则组成一个字符串[元素1,元素2,元素3,元素4.....]
private static String arraytoString(int[] arr) {
StringBuilder sb = new StringBuilder();
sb.append("[");
for (int i = 0; i < arr.length; i++) {
sb.append(arr[i]).append(",");
}
sb.append("]");
String s = sb.toString();
return s;
}
}
复杂型代码,最好别用,繁琐
package arrays;
public class arrays之冒泡排序 {
public static void main(String[] args) {
// TODO 自动生成的方法存根
//定义一个数组
int arr[]= {24,69,80,57,13};
System.out.println("排序前:"+arraytoString(arr));
// 第一次排序
for (int j = 0; j < arr.length-1; j++) {
if(arr[j]>arr[j+1]) {
int a = arr[j];
arr[j]=arr[j+1]; //交换顺序
arr[j+1]=a; //最后一位就等于最大值a
}
}
System.out.println("第一次排序后:"+arraytoString(arr));
System.out.println("第一次排序后的数组值:"+arr[0]+" "+arr[1]+" "+arr[2]+" "+arr[3]+" "+arr[4]);
// 第二次排序
for (int i = 0; i < arr.length-2; i++) {
if(arr[i]>arr[i+1]) {
int a = arr[i];
arr[i]=arr[i+1]; //交换顺序
arr[i+1]=a; //最后一位就等于最大值a
}
}
System.out.println("第二次排序后:"+arraytoString(arr));
System.out.println("第二次排序后的数组值:"+arr[0]+" "+arr[1]+" "+arr[2]+" "+arr[3]+" "+arr[4]);
for (int i = 0; i < arr.length-2; i++) {
if(arr[i]>arr[i+1]) {
int a = arr[i];
arr[i]=arr[i+1]; //交换顺序
arr[i+1]=a; //最后一位就等于最大值a
}
}
System.out.println("第二次排序后:"+arraytoString(arr));
System.out.println("第二次排序后的数组值:"+arr[0]+" "+arr[1]+" "+arr[2]+" "+arr[3]+" "+arr[4]);
for (int i = 0; i < arr.length-3; i++) {
if(arr[i]>arr[i+1]) {
int a = arr[i];
arr[i]=arr[i+1]; //交换顺序
arr[i+1]=a; //最后一位就等于最大值a
}
}
System.out.println("第三次排序后:"+arraytoString(arr));
System.out.println("第三次排序后的数组值:"+arr[0]+" "+arr[1]+" "+arr[2]+" "+arr[3]+" "+arr[4]);
for (int i = 0; i < arr.length-4; i++) {
if(arr[i]>arr[i+1]) {
int a = arr[i];
arr[i]=arr[i+1]; //交换顺序
arr[i+1]=a; //最后一位就等于最大值a
}
}
System.out.println("第四次排序后:"+arraytoString(arr));
System.out.println("第四次排序后的数组值:"+arr[0]+" "+arr[1]+" "+arr[2]+" "+arr[3]+" "+arr[4]);
}
//把数组中的元素按照指定的规则组成一个字符串[元素1,元素2,元素3,元素4.....]
private static String arraytoString(int[] arr) {
StringBuilder sb = new StringBuilder();
sb.append("[");
for (int i = 0; i < arr.length; i++) {
sb.append(arr[i]).append(",");
}
sb.append("]");
String s = sb.toString();
return s;
}
}



