java语言实现冒泡排序:
package mytest;public class MyTest {public static void main(String[] args) {int[] a={8,5,4,3,7,2};for(int i=0;i<a.length-1;i++){for(int j=0;j<a.length-1-i;j++){if(a[j]>a[j+1]){int t=a[j];a[j]=a[j+1];a[j+1]=t;}}}for(int i=0;i<a.length;i++){System.out.print(a[i]+"\t");}}}
执行结果如下图:
详细一点的冒泡排序,代码如下:
package mytest;public class MyTest {public static void main(String[] args) {// 使用静态初始化声明数组int[] a={8,5,4,3,7,2,9,6,1};for(int i=0;i<a.length-1;i++){for(int j=0;j<a.length-1-i;j++){if(a[j]>a[j+1]){// 交换位置int t=a[j];a[j]=a[j+1];a[j+1]=t;}}System.out.print("第" + (i+1) + "次排序的结果:");for(int j=0;j<a.length;j++){// 循环输出System.out.print(a[j]+"\t") ;}System.out.println();}//循环遍历输出结果System.out.println("排序之后的结果为:");for(int i=0;i<a.length;i++){System.out.print(a[i]+"\t");}}}
执行结果如下图所示:
也可从控制台输入一组数进行排序:
package mytest;import java.util.Arrays;import java.util.Scanner;public class MyTest {public static void main(String[] args) {//数组计量int count=0;int[] arr=new int[5];//循环输入5个整数存放到数组while(count<5){Scanner sc=new Scanner(System.in);//try防止输入不是整数的try {System.out.print("请输入第"+(count+1)+"整数:");//输入的数存放到数组arr[count]=sc.nextInt();//计量加一,直到5个count++;} catch (Exception e) {//输入的不是整数,则从新输入System.out.println("请输入整数");}}System.out.println("排序前数组:"+Arrays.toString(arr));//冒泡升序排序for(int x=0;x<arr.length;x++){//冒泡排序就是后面的和前面的数对比for(int y=x+1;y<arr.length;y++){//如果是后面的大于前面的,则把前面数往后交换if(arr[x]>arr[y]){int temp=arr[y];arr[y]=arr[x];arr[x]=temp;}}}System.out.println("排序后数组:"+Arrays.toString(arr));}}
随意输入5个数,排序结果如下图: