插入排序
Posted lyc-code
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了插入排序相关的知识,希望对你有一定的参考价值。
插入排序思想
假设有一个int类型,数组长度为n的数组
1.我们要保证数组下标在0~0中有序排列,这是肯定的,在0~0中只有一个数字
2.保证数组下标在0~1中有序,我们要比较下标为0与下标为1的数字,若下标为1大于下标为0的数字,就进行交换
3.保证数组下标在0~2中有序,因为下标在0~1中已经有效,所以只需用数组下标为2的数与0~1中数进行比较
。。。。。。。。
保证数组下标在0~n-1中有序,就要用数组下标为n-1的数与数组下标为0~n-2范围中的数字进行比较
代码
1 int[] a = {6,4,5,3,1}; 2 //数组下标范围在0~0中已经有效,所以外层循环从1开始,即从范围0~1开始 3 for (int i = 1; i < a.length; i++){ 4 //每一次都是下标最后的数字与前面下标的数字逐个比较,直到比较到数组下标为0时结束 5 for (int j = i-1; j >=0; j--){ 6 if (a[j] > a[j+1]){ 7 int b = a[j]; 8 a[j] = a[j+1]; 9 a[j+1] = b; 10 } 11 } 12 } 13 for (int i = 0; i < a.length; i++){ 14 System.out.println(a[i]); 15 }
以上是关于插入排序的主要内容,如果未能解决你的问题,请参考以下文章
代码片段使用复杂的 JavaScript 在 UIWebView 中插入 HTML?
将代码片段插入数据库并在 textarea 中以相同方式显示
初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段
初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段