public class BubbleSort {
/**
* 排序从第一位开始,取最后一位后前一位然后进行比较,j>i 是因为比较过几次前几位的值就已经排序好了
* @param arr
*/
public static void sort(long[] arr) {
int len = arr.length;
//len-1 是因为不会判断最后一位
for (int i=0;i
for (int j = len-1;j>i;j--){
if(arr[j-1]>arr[j]){
long temp = arr[j-1];
arr[j-1] = arr[j];
arr[j] = temp;
}
}
}
for (long a: arr){
System.out.println(a);
}
}
public static void main(String[] args) {
long[] arr = {23,32,1,3};
sort(arr);
}
}
//插入就是先把第一个数当成是有序的,然后和第二个数比较,然后两个数排序,然后第三个数再
//和排好序的两个数进行比较依次插入
public class InsertSort {
public static void sort(int[] arr) {
int len = arr.length;
int temp =0;
for (int i =1; i < len; i++) {
temp = arr[i];
int j = i;
while (j >0 && arr[j-1] > temp) {
arr[j] = arr[j -1];
j--;
}
arr[j] = temp;
}
for (int a: arr){
System.out.println(a);
}
}
public static void main(String[] args) {
int[] arr = {23,1,32,2};
sort(arr);
}
}
//选择一个最小的然后交换位置
public class SelectSort {
public static void sort(int[] arr) {
int len = arr.length;
int k =0;
for (int i =0; i < len -1; i++) {
k = i;
for (int j = i; j < len; j++) {
if (arr[j] < arr[k]) {
k = j;
}
}
int temp = arr[i];
arr[i] = arr[k];
arr[k] = temp;
}
for (int a: arr){
System.out.println(a);
}
}
public static void main(String[] args) {
int[] arr = {23,1,32,2};
sort(arr);
}
}