java:数组冒泡排序经典算法

java:数组冒泡排序经典算法

需求:给定一个数组,进行从小到大排序,并输出

思路:1、比较相邻两个元素,左边元素大于右边元素,则左右交换

​ 2、每一对相邻元素向后依次这样比较,直到已比较交换出最大元素放置在数组最后一位;

​ 3、遍历数组,再次循环上述步骤,除去上一轮和已经选出的最大元素(随着选出的最大数值愈来愈多,两两比较次数会相应减少)

实例代如下:

public class Test {
	public static void main(String[] args){
		
		//定义一个数组arr
		int [] arr= {10,87,65,34,57};
		//排序前的数组
		printShow(arr); 
		
		//外层控制再次重复步骤
		for(int i=0;i<arr.length-1;i++){
			//内层for循环控制 控制数组元素两两比较次数
			for(int j=0;j<arr.length-1-i;j++) {
				if(arr[j]>arr[j+1]) {
					//temp作为中间值 
					//如果前一项大于后一项 则交换位置
					int temp=arr[j];
					arr[j]=arr[j+1];
					arr[j+1]=temp;
				}
		}
			
	}
		//输出排序后的数组
		System.out.println("排序后的数组:");
		printShow(arr); 
	}
	//遍历数组并显示方法
	public static void printShow(int [] arr) {
				System.out.println("数组如下:");
				System.out.print("[");
				for(int i=0;i<arr.length;i++) {
					if(i==arr.length-1) {
						System.out.print(arr[i]+"]");
					}else {
						System.out.print(arr[i]+",");
					}
				}
				System.out.println("");
	}
}

输出结果

数组如下:
[10,87,65,34,57]
排序后的数组:
数组如下:
[10,34,57,65,87]

猜你喜欢

转载自blog.csdn.net/qq_43137699/article/details/107522962