插入排序_JAVA

public class Main {
    public static void main(String[] args) {
        int[] A = { 6, 4, 3, 5, 6, 2 };
        for (int j = 1; j < A.length; j++) {
            int key = A[j];
            int i = j - 1;
            while (i >= 0 && A[i] > key) {
                A[i + 1] = A[i];
                i--;
            }
            A[i + 1] = key;
        }
    }
}        
时间: 2024-08-26 19:32:48

插入排序_JAVA的相关文章

排序算法汇总总结_Java实现

一.插入排序 直接插入排序(Insertion Sort)的算法描述是一种简单直观的排序算法.它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入.插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间. 代码实现: public class Inseretion_Sort {     public static void main(Stri

算法 排序lowB三人组 冒泡排序 选择排序 插入排序

参考博客:基于python的七种经典排序算法   [经典排序算法][集锦]     经典排序算法及python实现 首先明确,算法的实质 是 列表排序.具体就是操作的列表,将无序列表变成有序列表! 一.排序的基本概念和分类 所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作.排序算法,就是如何使得记录按照要求排列的方法. 排序的稳定性: 经过某种排序后,如果两个记录序号同等,且两者在原无序记录中的先后秩序依然保持不变,则称所使用的排序方法是稳定的,反之是不稳定

两种插入排序算法java实现

两种方法都编译运行通过,可以当做排序类直接使用. 折半插入排序: public class Sort1 { public static void main(String[] args) { InsertSort sort = new InsertSort(); sort.InsertSort(); int[] arr = sort.getarr(); System.out.println(); System.out.println("排序之后:"); for (int ar : arr

插入排序算法回顾(python实现)

插入排序的基本方法是:每步将一个待排序的记录按其关键字的大小插到前面已经排序的序列中的适当位置,直到全部记录插入完毕为止. 折半插入排序是对插入排序算法的一种改进,由于排序算法过程中,就是不断的依次将元素插入前面已排好序的序列中.由于前半部分为已排好序的数列,这样我们不用按顺序依次寻找插入点,可以采用折半查找的方法来加快寻找插入点的速度.具体操作为:在将一个新元素插入已排好序的数组的过程中,寻找插入点时,将待插入区域的首元素设置为a[low],末元素设置为a[high],则轮比较时将待插入元素与

【算法导论】插入排序

排序问题 输入:n个数的一个序列<a1, a2, ..., an> 输出:输入序列的一个排列<b1, b2, ..., bn>,满足 b1 ≤ b2 ≤ ... ≤ bn. 插入排序 对于插入排序,我们将其伪代码命名为Insertion-sort,其中的参数是一个数组A[1..n],包含长度为n的要排序的一个序列.(在代码中,A中元素的数目n用A.length来表示.)该算法原址排序输入的数:算法在数组A中重排这些数,在任何时候,最多只有其中的常数个数字存储在数组外面.在过程Ins

Java千百问_02基本使用(015)_java如何通过汇编方式运行

点击进入_更多_Java千百问-基本使用 1.java如何通过汇编方式运行 java本身不能通过汇编方式运行.但是,我们可以通过某些插件,在运行中将java代码解释为汇编指令,让我们能够通过分析执行的汇编指令来查找一些问题,也可以帮助我们分析和理解JVM是如何解释和编译的(当然java本身的编译和运行和汇编无关). PrintAssembly是JVM的一个运行参数,它允许我们获取在控制台打印java代码翻译成的汇编指令.使用PrintAssembly需要一些插件的支持,这些并不是JVM直接提供的

数据结构- 插入排序

插入排序 1.直接插入排序 void InsertSort(int *a, size_t size)//直接插入排序 { assert(a); for (size_t i = 0; i < size - 1; ++i) { int end = i; int tmp = a[end + 1]; while (end >= 0 && a[end]>tmp) { a[end + 1] = a[end]; --end; } a[end+1] = tmp; } } 2.希尔排序 /

LintCode_173 链表插入排序

题目 用插入排序对链表排序 样例 Given 1->3->2->0->null, return 0->1->2->3->null C++代码 ListNode *insertionSortList(ListNode *head) { // write your code here if (!head) return NULL; ListNode* root = head; head = head->next; root->next = NULL;

Python排序算法之直接插入排序

插入排序的主要思想是每次取一个列表元素与列表中已经排序好的列表段进行比较,然后插入从而得到新的排序好的列表段,最终获得排序好的列表. 比如,待排序列表为[49,38,65,97,76,13,27,49],则比较的步骤和得到的新列表如下: (带有背景颜色的列表段是已经排序好的,红色背景标记的是执行插入并且进行过交换的元素) 时间复杂度:O(n^2) 待排序:  [49,38,65,97,76,13,27,49] 第一次比较后:  [38,49,65,97,76,13,27,49]     第二个元