冒泡排序
代码实现
import java.util.Scanner;
import static sun.misc.Version.print;
public class TestBubbleSort {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("你想要输入一个几个数的数组");
int a = sc.nextInt();
System.out.println("根据你的输入,请输入"+a+"次你的数组数字");
int[] arr =new int[a];
for (int q = 0; q <a; q++) {
System.out.println("请输入第"+(q+1)+"个数字");
int b = sc.nextInt();
arr[q]=b;
}
System.out.println("排序前");
arraySort(arr);
System.out.println();
bubbleSort(arr);
System.out.println("排序后");
arraySort(arr);
}
//冒泡排序算法
private static void bubbleSort(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 = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
//遍历数组
private static void arraySort(int [] arr) {
System.out.print("[");
for (int z = 0; z <arr.length; z++) {
System.out.print(arr[z]);
if (arr[z]==arr[arr.length-1]){
System.out.print("]");
}else{
System.out.print(", ");
}
}
}
}
选择排序
代码实现
public class XuanZePaiXu {
public static void main(String[] args) {
int[] arr = {4,16,3,2};
System.out.println("排序前");
sort(arr);
System.out.println();
System.out.println("------------------");
System.out.println("排序后");
select(arr);
sort(arr);
}
//选择排序
public static void select(int [] arr){
for (int i = 0; i <arr.length-1; i++) {
for (int j = i+1; j <arr.length; j++) {
if(arr[i]>arr[j]){
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
//遍历数组
public static void sort(int[] arr){
System.out.print("[");
for (int i = 0; i < arr.length; i++) {
if (arr[arr.length-1] == arr[i]){ //arr.length-1 = i
System.out.print(arr[i]+"]");
}else {
System.out.print(arr[i]+",");
}
}
}
}