经典排序算法(java)面试自己遇到的
冒泡排序
https://blog.csdn.net/wq_1995/article/details/81937926
import java.util.Arrays;
/**
* @author kiki
* @version 1.0
* @create 2020/7/7 21:11
*/
public class MaoPaoSort {
public static void main(String[] args) {
//1、定义一个数组
int[] arr={10,63,32,58,98,68,75,12,5,9};
System.out.println(Arrays.toString(arr));
System.out.println("=========================");
System.out.println(Arrays.toString(sort(arr)));
}
public static int[] sort(int[] arr){
//冒泡的思想:两者比较,反序则向后排
for(int i=0;i < arr.length;i++){
for (int j=0;j < arr.length-1;j++){
if (arr[j] > arr[j+1]){
int temp = 0;
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
return arr;
}
}
选择排序
import java.util.Arrays;
/**
* @author kiki
* @version 1.0
* @create 2020/7/7 21:23
*/
public class XuanZeSort {
public static void main(String[] args) {
//1、定义一个数组
int[] arr={10,63,32,58,98,68,75,12,5,9};
System.out.println(Arrays.toString(arr));
System.out.println("=========================");
System.out.println(Arrays.toString(sort(arr)));
}
public static int[] sort(int[] arr){
for (int i=0;i<arr.length;i++){
int min = i;
for (int j=i;j<arr.length;j++){
if (arr[j]<arr[min]){//一次遍历找到最小数
min = j;//把最小数的索引保存
}
}
int temp = arr[min];
arr[min] = arr[i];
arr[i] = temp;
}
return arr;
}
}