直接插入排序算法实现
来源:互联网 发布:网络安装检测报告 编辑:程序博客网 时间:2024/04/23 22:44
用Java实现直接插入排序
思想:假设你左手上有扑克牌,且从左往右是有序的(即已经按照牌的大小排好顺序)现在抓到一张牌,肯定是找个合适的位置插入到牌堆中,在插入时候,遵循原则:从右边的牌开始依次比较要插入的那张牌的大小,若插入的牌小,手中的牌需要向右移动,重复比较插入手中牌堆中牌的大小,直到找到一张比插入的牌要大的牌,故代码需要体现两点:
A、比较
B、牌堆中牌的移动,且是向右移动
package com.mifeng.acm.practice;import java.util.Arrays;import org.junit.Test;/** * 直接插入排序 * @author 21405 * */public class InsertSortDemo {public static void main(String[] args) {// TODO Auto-generated method stub}@Testpublic void test(){ //int[] array = new int[]{9, 7, 6, 4, 3, 1};int[] array = new int[]{2, 4, 1, 6, 3, 5};System.out.println("排序前:"+ Arrays.toString(array));insertSort(array);}public void insertSort(int A[]){for(int i = 1; i< A.length; i++){int j = i-1;int key = A[i];while(j >= 0 && key <= A[j]){A[j+1] = A[j];j = j - 1;}A[j+1] = key;}System.out.println(Arrays.toString(A));}}代码分析:
1)里层循环表示与牌堆中的牌比较,若插入的牌小,牌堆中的比插入的牌要大的牌都要右移
2)外层循环表示要插入的牌
0 0
- 实现直接插入排序算法
- 直接插入排序算法实现
- 直接插入排序算法实现
- 【排序算法】直接插入排序(java实现)
- 排序算法--Java实现直接插入排序
- golang实现直接插入排序算法
- 直接插入排序算法分析、代码实现
- 直接插入排序算法--c语言实现
- 【算法】直接插入排序C语言实现
- python实现的直接插入排序算法
- Java实现直接插入排序算法
- Java算法实现-直接插入排序
- 插入排序之直接插入排序算法-java实现
- 直接插入排序算法
- 直接插入算法排序
- 直接插入排序算法
- 直接插入排序算法
- 直接插入排序算法
- Linux多线程——使用信号量同步线程
- 链表归并排序
- popupwindow设置动画效果,不起作用。
- 【第二十二课】容器---Set和HashSet的使用
- c++关于排序与检索的一些简单东西
- 直接插入排序算法实现
- Servlet
- ssh scp等远程操作取消交互认证
- 求直线被确定的最大次数
- SCR888 Slot Game A Night Out Online Casino
- 如何找到Mat中的最大值以及最小值
- 设计模式:抽象工厂模式|菜鸟教程
- Leetcode128——Longest Consecutive Sequence
- Linux多线程——使用互斥量同步线程(2)