冒泡排序-JAVA语言实现

本文详细介绍了一种经典的排序算法——冒泡排序的Java实现。文章提供了两种不同的冒泡排序方法,展示了如何通过交换相邻元素的位置来对数组进行排序,同时介绍了如何优化排序过程以提高效率。代码中还包含了用户输入数组元素的功能,以及排序结果的显示。
import java.util.Scanner;

public class BubbleSort {

	/**
	 * @param args
	 * Andrew Peng Liu
	 */
	
	public static void Display(int[] arr, int n){
		for(int i = 0; i < n; i++){
			System.out.print(arr[i]+" ");
		}
		System.out.print("\n");
	}
	
	public static void BubbleSort1(int[]arr, int n){
		boolean exchange;
		int temp; 
		for(int i = 0; i < n-1; i++){
			exchange = false;
			for(int j = n-1; j > i; j--){
				if(arr[j-1] > arr[j]){ //通过改变符号来决定是升序还是降序
					temp = arr[j-1];
					arr[j-1] = arr[j];
					arr[j] = temp;
					exchange = true;
				}
			}
			if(!exchange){
				break;
			}
		}
	}
	
	//另一种写法
	public static void BubbleSort2(int[] arr, int n){
		boolean exchange;
		int temp; 
		for(int i = 0; i < n; i++){
			exchange = false;
			for(int j = 1; j < n-i; j++){
				if(arr[j-1] > arr[j]){//通过改变符号来决定是升序还是降序
					temp = arr[j-1];
					arr[j-1] = arr[j];
					arr[j] = temp;
					exchange = true;
				}
			}
			if(!exchange){
				break;
			}
		}
	}
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("冒泡排序:");
		Scanner input = new Scanner(System.in);
		
		System.out.print("请输入数组元素的个数:");
		int n = input.nextInt();
		int[] arr = new int[n];
		
		System.out.print("请输入数组元素:");
		for(int i = 0; i < arr.length; i++){
			arr[i] = input.nextInt();
		}
		
	//	BubbleSort1(arr, (arr.length));
		BubbleSort2(arr, (arr.length));
		Display(arr, (arr.length));
	}

}

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值