在以前面试中出现面试有面试数据结构的,今天自己写了一个冒泡排序:
package com.accp.test;
import java.util.Scanner;
public class TestMain {
public static void main(String args[]) {
System.out.println("开始");
int[] arry = new int[10];
Scanner input = new Scanner(System.in);
System.out.println("请输入10个数字...");
for (int i = 0; i < arry.length; i++) {
arry[i] = input.nextInt();
}
// 调用排序的方法
shotArray(arry);
}
// 运用冒泡排序给数组排序
private static void shotArray(int[] arry) {
// 冒泡原理是进行2个for循环,第一for循环和第二个for循环进行比较
// 定义一个空的变量,第一次给最后面的和第一个比较,如果第一比第一个小就给最后一个赋给第一个,也就是通过变量交换。
//我记得开始以前老师说过一个打擂台的原理,也就是谁输了就谁下去..
for (int i = arry.length-1; i > 0; i--) {
for (int j = 0; j < i; j++) {
if (arry[i] < arry[j]) {
int temp = 0;
temp = arry[i];
arry[i] = arry[j];
arry[j] = temp;
}
}
}
// 解析数组;2
for (int i = 0; i < arry.length; i++) {
System.out.println(arry[i]);
}
}
}