前言插入排序(insertion sort)的基本思想:每次将一个待排序的记录,按其关键字大小插入到前面已经排序好的序列中,直到全部记录插入完成为止.直接插入排序基本思想假设待排序的记录存放在数组R[1..n]中。初始时,R[1]自成1个有序区,无序区为R[2..n].从i = 2起直到i = n ...
分类:
其他好文 时间:
2014-07-10 10:47:12
阅读次数:
235
插入排序1.直接插入排序原理:将数组分为无序区和有序区两个区,然后不断将无序区的第一个元素按大小顺序插入到有序区中去,终于将全部无序区元素都移动到有序区完毕排序。要点:设立哨兵,作为暂时存储和推断数组边界之用。实现:VoidInsertSort(NodeL[],intlength){Inti,j;/...
分类:
其他好文 时间:
2014-07-08 00:18:26
阅读次数:
235
以下是最近学习各种算法的代码实现:#include #include #include #include typedef int EleType;typedef int (*CompFunc)(void *,void *);int IntComp(void * a,void *b){ if(*...
分类:
其他好文 时间:
2014-07-08 00:15:54
阅读次数:
293
逻辑简单,代码难写,基础不劳,leecode写注释不能出现中文,太麻烦,我写了大量注释,链表问题最重要的就是你那个指针式干啥的提交地址https://oj.leetcode.com/problems/insertion-sort-list//** * Definition for singly-li...
分类:
编程语言 时间:
2014-07-07 16:59:54
阅读次数:
193
插入排序1.直接插入排序原理:将数组分为无序区和有序区两个区,然后不断将无序区的第一个元素按大小顺序插入到有序区中去,终于将全部无序区元素都移动到有序区完毕排序。要点:设立哨兵,作为暂时存储和推断数组边界之用。实现:VoidInsertSort(NodeL[],intlength){Inti,j;/...
分类:
其他好文 时间:
2014-07-07 15:31:04
阅读次数:
263
NOJ——1062直接插入排序时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte 总提交:446 测试通过:212描述给定输入排序元素数目n和相应的n个元素,写出程序,利用内排序算法中直接插入排序算法进行排序,并输出排序过程中每趟及最后结果...
分类:
其他好文 时间:
2014-07-01 21:00:49
阅读次数:
189
网上看到的,记录下,备用package mainimport ( "net/http")func main() { http.Handle("/", http.FileServer(http.Dir("./"))) http.ListenAndServe(":8080", nil)...
分类:
Web程序 时间:
2014-07-01 14:07:08
阅读次数:
265
一般来说,插入排序都采用in-place在数组上实现。具体算法描述如下:
从第一个元素开始,该元素可以认为已经被排序取出下一个元素,在已经排序的元素序列中从后向前扫描如果该元素(已排序)大于新元素,将该元素移到下一位置重复步骤3,直到找到已排序的元素小于或者等于新元素的位置将新元素插入到该位置后重复步骤2~5
#! /usr/bin/env python
# -*- coding: ut...
分类:
编程语言 时间:
2014-07-01 06:58:27
阅读次数:
255
排序算法基本陈述容易理解,之后会详细解析希尔排序、堆排序、归并排序、快速排序、简单选择排序、直接插入排序等排序算法。...
分类:
其他好文 时间:
2014-07-01 06:37:39
阅读次数:
188
从题目看,首先不是全部是若干。排序算法很多,我个人的能力也有限,不可能都讲到。另外,是简单汇总,是希望能用最简单的代码,最简短的语言说明问题,不搞太多理论分析。就像前面说的,排序算法有很多,而且不存在哪一种最不好,哪一种最好这样的说法。根据用途不同选择最适合的就行了。不过仅从时间复杂度来看,基本上有两种,一种是O(n^2), 一种是O(nlogn)。...
分类:
其他好文 时间:
2014-06-30 20:01:09
阅读次数:
191