插入排序
Posted wuhen8866
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了插入排序相关的知识,希望对你有一定的参考价值。
基础排序参考
https://blog.csdn.net/yushiyi6453/article/details/76407640
插入排序
插入排序从小到大排序:首先位置1上的数和位置0上的数进行比较,如果位置1上的数大于位置0上的数,将位置0上的数向后移一位,将1插入到0位置,否则不处理。位置k上的数和之前的数依次进行比较,如果位置K上的数更大,将之前的数向后移位,最后将位置k上的数插入不满足条件点,反之不处理。
package insertsort;
import java.util.Scanner;
/**
* @author WangXiaoeZhe
* @Date: Created in 2019/11/21 16:17
* @description:
*/
public class InsertSort {
/**
* 插入排序
*
* @param args
*/
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int[] arr = new int[5];
for (int i = 0; i < arr.length; i++) {
arr[i] = scanner.nextInt();
}
int[] ints = insertSort(arr);
for (int i = 0; i < ints.length; i++) {
System.out.println(arr[i]);
}
}
private static int[] insertSort(int[] arr) {
for (int i = 1; i < arr.length; i++) {
for (int j = i - 1; j >= 0 && arr[j] > arr[j + 1]; j--) {
swap(arr,j,j+1);
}
}
return arr;
}
public static void swap(int[] arr, int i, int j) {
int tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
}
平均时间复杂度: O(n^2) 最坏时间复杂度:O(n^2) 空间复杂度: O(1) 不稳定
以上是关于插入排序的主要内容,如果未能解决你的问题,请参考以下文章
代码片段使用复杂的 JavaScript 在 UIWebView 中插入 HTML?
将代码片段插入数据库并在 textarea 中以相同方式显示
初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段
初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段