package com.mipo.method;
import java.util.Scanner;
/**
* 冒泡排序:通过比较相邻两个元素的数值(1和2比,2和3比。。。),值小的位置换到前面,值大的位置换到后面,
* 每轮比较结束后,值最大的数位置被换到了最后。
* 第一轮可以将最大的数位置排好,第二轮可以将第二大的数的位置排好。。。
*/
public class MaoPaoPaiXu {
public static void main(String[] args) {
//动态给数组a的元素赋值
Scanner input = new Scanner(System.in);
System.out.println("请输入要排序的数据的个数");
int count = input.nextInt();
int a[] = new int[count];
for(int i=0;i<count;i++) {
System.out.println("请输入第"+(i+1)+"个数");
a[i] = input.nextInt();
}
int n = a.length;
//定义一个变量temp,用于数组中元素交换位置
int temp = 0;
//外层循环控制比较多少轮 i<a.length-1;
for (int i=0;i<n-1;i++) {
//内层循环控制每一轮比较多少次 j<a.length-1-i
for (int j=0;j<n-1-i;j++) {
//相邻两个数比较,将数大的位置换到后面,数小的位置换到前面
// ">"是升序,"<"是降序
if (a[j]>a[j+1]) {
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
System.out.println("排序后的数据为:");
for (int k=0;k<a.length;k++) {
System.out.print(a[k]+"\t");
}
}
}
Java算法——冒泡排序
最新推荐文章于 2023-08-07 20:03:51 发布