1.冒泡排序
将数值依次按照排序规则,把对应的数值,冒泡到后面去,就像泡泡出水一样
public static int[] f(int[]nums){
int len=nums.length;
for (int i = 0; i <len-1; i++) {
for (int j = 0; j <len-1-i; j++) {
if (nums[j]>nums[j+1]){
int temp=nums[j];
nums[j]=nums[j+1];
nums[j+1]=temp;
}
}
}
return nums;
}
2.选择排序
从图解中,我们能够看出它是依次将数组中的最小值移动到第一个位置上,并且数组的长度逐级减小,从本质上讲,他与冒泡排序算法时间复杂度差不多
public static void sort(int[]arr){
for (int i = 0; i <arr.length-1 ; i++) {
int minindex=i;
for (int j =i+1; j <arr.length; j++) {
if (arr[j]<arr[minindex]){
int temp=arr[j];
arr[j]=arr[minindex];
arr[minindex]=temp;
}
}
}
System.out.println(Arrays.toString(arr));
}
3.插入排序
public static void sort3(int[]arr){
for (int i = 1; i <arr.length ; i++) {
for (int j =i; j>0;j--) {
if (arr[j-1]>arr[j]){
int temp=arr[j-1];
arr[j-1]=arr[j];
arr[j]=temp;
}
else {
break;
}
}
}
System.out.println(Arrays.toString(arr));
}