本文中所有代码均可在码云中下载
notion国内替代品,wolai笔记,大家可以看一下,别忘了码:UWZD8MI
插入排序
时间复杂度: O(N^2)
插入排序:是将未排序的一组数中的一个数插入已排序的数中的合适位置。最开始,将最前端的一个数看成已排序。
算法思路:对数组遍历,内置循环,选取当前位置为临时值,往前遍历,找到合适插入位置
public class SimpleInsertSort {
public static void sort(int[] array){
int length = array.length;
int temp;
for(int i=1;i<length;i++){
temp = array[i];
int j =i-1;
while(j>=0 && array[j]>temp){
array[j+1]=array[j];
j--;
}
array[j+1]=temp;
}
}
public static void main(String[] args) {
int[] array={3,9,6,4,2,1,7,0,5,8};
sort(array);
for(int i=0;i<array.length;i++){
System.out.println(array[i]);
}
}
}
冒泡排序
Created: Jul 14, 2020 6:51 PM
Tags: 比较类排序 比较排序
时间复杂度: O( n^2 )
冒泡排序,依次将相邻的两个数比较,若前面的数比后面的数大,则将其位置调换,每一趟下来,都会将最大的数移至最后,再对其它数重复该操作,直至只剩一个数时排序完毕。
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class BubbleSort{
public void bubbleSort(int []nums){
int length = nums.length;
if(length<=1){
System.out.println(nums[0]);
}
else{
for(int i=0;i<length;i++){
for(int j=0;j<length-i-1;j++){
if (nums[j]>nums[j+1]){
int temp = nums[j];
nums[j]=nums[j+1];
nums[j+1]=temp;
}
}
}
for(int i=0;i<length;i++){
System.out.print(nums[i]);
System.out.print(" ");
}
}
}
public static void main(String[] args) {
System.out.println("Please input arry with splited by ,");
Scan