php中网站不同模板后台逻辑代码怎么管理,国外服务器下载,建设银行北京分行招聘网站,艺术字体转换器在线转换器目录 1. 说明2. 举个例子3. java代码示例4. java示例截图 1. 说明 1.直接插入排序的方式和打牌一样#xff0c;刚开始数组为空 2.拿到一个数字后从左到右将它与数组中的每一个数字进行比较#xff0c;然后插入合适的位置 3.到最后#xff0c;数组按照既定的顺序排序好
2. 举… 目录 1. 说明2. 举个例子3. java代码示例4. java示例截图 1. 说明 1.直接插入排序的方式和打牌一样刚开始数组为空 2.拿到一个数字后从左到右将它与数组中的每一个数字进行比较然后插入合适的位置 3.到最后数组按照既定的顺序排序好
2. 举个例子 示例 [5, 3, 4, 1, 2]1. 获取数组的长度5从第二个数开始循环操作 2. 取下一个比较的值3索引i为1上一个索引j为0 3.判断5是否大于3则索引为1的数字改为5得到 [5, 5, 4, 1, 2]jj-1-1j0跳出循环 4.将索引0的位置的数字改为3得到[3, 5, 4, 1, 2] 5. 取下一个比较的值4索引i为2上一个索引j为1 (索引0到索引j都是有序的) 6. 比较索引1位置的数字5大于4将索引2位置的数字改为5(往后挪一位)得到[3, 5, 5, 1, 2]jj-10 7. 比较索引0位置的数字3小于4跳出循环 8. 将索引1位置的数字改为4得到[3, 4, 5, 1, 2] 9. 取下一个比较的值1索引i为3上一个索引j为2 (索引0到索引j都是有序的) 10. 比较索引2位置的数字5大于1将索引3位置的数字改为5(往后挪一位)得到[3, 4, 5, 5, 2]jj-11 11. 比较索引1位置的数字4大于1将索引2位置的数字改为4(往后挪一位)得到[3, 4, 4, 5, 2]jj-10 12. 比较索引0位置的数字3大于1将索引1位置的数字改为3(往后挪一位)得到[3, 3, 4, 5, 2]jj-1-1j0跳出循环 13. 将索引0位置的数字改为1得到[1, 3, 4, 5, 2] 14. 取下一个比较的值2索引i为4上一个索引j为3索引0到索引j都是有序的 15. 比较索引3位置的数字5大于2将索引4位置的数字改为5(往后挪一位)得到[1, 3, 4, 5, 5]jj-12 16. 比较索引2位置的数字4大于2将索引3位置的数字改为4(往后挪一位)得到[1, 3, 4, 4, 5]jj-11 17. 比较索引1位置的数字3大于2将索引2位置的数字改为3(往后挪一位)得到[1, 3, 3, 4, 5]jj-10 18. 比较索引0位置的数字1小于2跳出循环 19. 将索引1位置的数字改为2得到[1, 2, 3, 4, 5]
3. java代码示例
package com.learning.algorithm.sort;/*** 直接插入排序* 示例 5, 3, 4, 1, 2* 1.获取数组的长度5从第二个数开始循环操作* 开始循环* 2.取下一个比较的值3索引i为1上一个索引j为0* 3.判断5是否大于3则索引为1的数字改为5得到 [5, 5, 4, 1, 2]jj-1-1j0跳出循环* 4.将索引0的位置的数字改为3得到[3, 5, 4, 1, 2]* 继续循环* 5.取下一个比较的值4索引i为2上一个索引j为1 (索引0到索引j都是有序的)* 6.比较索引1位置的数字5大于4将索引2位置的数字改为5(往后挪一位)得到[3, 5, 5, 1, 2]jj-10* 7.比较索引0位置的数字3小于4跳出循环* 8.将索引1位置的数字改为4得到[3, 4, 5, 1, 2]* 继续循环* 9.取下一个比较的值1索引i为3上一个索引j为2 (索引0到索引j都是有序的)* 10.比较索引2位置的数字5大于1将索引3位置的数字改为5(往后挪一位)得到[3, 4, 5, 5, 2]jj-11* 11.比较索引1位置的数字4大于1将索引2位置的数字改为4(往后挪一位)得到[3, 4, 4, 5, 2]jj-10* 12.比较索引0位置的数字3大于1将索引1位置的数字改为3(往后挪一位)得到[3, 3, 4, 5, 2]jj-1-1j0跳出循环* 13.将索引0位置的数字改为1得到[1, 3, 4, 5, 2]* 继续循环* 14.取下一个比较的值2索引i为4上一个索引j为3索引0到索引j都是有序的* 15.比较索引3位置的数字5大于2将索引4位置的数字改为5(往后挪一位)得到[1, 3, 4, 5, 5]jj-12* 16.比较索引2位置的数字4大于2将索引3位置的数字改为4(往后挪一位)得到[1, 3, 4, 4, 5]jj-11* 17.比较索引1位置的数字3大于2将索引2位置的数字改为3(往后挪一位)得到[1, 3, 3, 4, 5]jj-10* 18.比较索引0位置的数字1小于2跳出循环* 19.将索引1位置的数字改为2得到[1, 2, 3, 4, 5]*/
public class DirectInsertSort {public static void sort(int array[]) {// 获取数组的长度int length array.length;// 从第二位开始比较for (int i 1; i length; i) {// 获取下一个比较的值int key array[i];// 上一个索引int j i - 1;// 比较到索引大于等于0的 且 遍历前面的值 与 key比较大小如果比key大大的值往后挪一位while (j 0 array[j] key) {// 比key大的值往后挪一位array[j 1] array[j];// 继续比较前面的值和key的大小j j - 1;}// 当array[j]比key小则array[j1]的数字改为keyarray[j 1] key;}}/* A utility function to print array of size n*/public static void print(int[] array) {for (int i : array) {System.out.print(i );}}public static void main(String args[]) {int array[] {5, 3, 4, 1, 2};DirectInsertSort.sort(array);DirectInsertSort.print(array);}
}4. java示例截图