- package com.xbmd.share;
- import java.util.Scanner;
- /**
- * 需求:将一个无序数组按照从小到大的顺序排列
- * 方法:冒泡排序
- * 实现:相邻的两个元素进行比较,如果这个数大于比较的数,就交换位置
- * 步骤:
- * ①:第一轮比较完之后,最大元素冒出来
- * ②:第二轮比较完之后,第二大元素冒出来
- * 依次类推...
- */
- public class BubbleSort {
- public static void main(String[] args) {
- //从键盘输入数
- Scanner input = new Scanner(System.in);
- System.out.print("请输入数组的长度:");
- //数组长度赋给变量length
- int length = input.nextInt();
- //动态创建数组
- int[] arr = new int[length];
- //为数组各个元素赋值
- System.out.println("为数组各元素赋值:");
- for (int i = 0; i < arr.length; i++) {
- arr[i]=input.nextInt();
- }
- System.out.println("排序前的数组:");
- print(arr);
- System.out.println();
- System.out.println("排序后的数组:");
- bubble(arr);
- print(arr);
- }
- private static void bubble(int[] arr){//冒泡排序
- for(int i=0;i<arr.length-1;i++){//控制轮数
- for(int j=0;j<arr.length-i-1;j++){//控制每轮比较的次数
- if(arr[j]>arr[j+1]){//如果这个数大于比较的数,就交换位置
- int temp;
- temp=arr[j];
- arr[j]=arr[j+1];
- arr[j+1]=temp;
- }
- }
- }
- }
- private static void print(int[] arr){//打印数组
- for (int i : arr) {
- System.out.print(i+" ");
- }
- }
- }
- //该片段来自于http://www.codesnippet.cn/detail/0801201614377.html
来源: http://www.codesnippet.cn/detail/0801201614377.html