1.插入排序
#include
#include
#define M 100
int main(void)
{
int i, j, n;
int a[M] = {0};
printf("input n:");
scanf("%d", &n);
printf("input a:");
for(i = 1; i
scanf("%d", &a[i]);
...
分类:
编程语言 时间:
2014-06-20 11:00:54
阅读次数:
230
题目链接: here。题目描述: Sort a linked list using insertion
sort. 题目要求使用插入排序的方法来实现单链表的排序。插入排序是一种简单的排序,算法描述参考维基百科,或者《算法导论》。 下面是我实现的代码: 1 /**
2 Author:...
分类:
其他好文 时间:
2014-06-12 00:39:40
阅读次数:
284
常用的排序算法有冒泡排序,插入排序和选择排序。他们的时间复杂度是o(n²),与数据量的平方成正比。他们的效率还是比较低的。现在来说说他们的效率为什么比较低下。以冒泡排序为例,它每一轮都是与相邻的元素进行交换,交换的距离为1,每次每个(没有冒泡出来的)元素都要与前一个比较再交换。每次相邻的比较只能比较出两个元素的大小,不能以整个数组进行参照来确定在整个数组里的大小,也就是说每次的比较不能确定其他元素...
分类:
其他好文 时间:
2014-06-07 16:16:01
阅读次数:
172
算法导论(Introduction to Algorithms )— 第二章 算法入门 — 2.1 插入排序,及习题拙见...
分类:
其他好文 时间:
2014-06-07 15:48:19
阅读次数:
237
插入排序
直接插入排序
// 直接插入排序
void DirectInsertSort(int arr[], int lhs, int rhs)
{
int temp;
for (int i = lhs+1; i = 0 && temp < arr[j]...
分类:
其他好文 时间:
2014-06-07 14:31:54
阅读次数:
274
继上一篇堆排序之后,用相同的数据结构写了个快速排序和插入排序,当数组的长度较小的时候,可使用插入排序,实现如下:QuickSort.h 1 #ifndef
__QUICKSORT 2 #define __QUICKSORT 3 #include "MySqList.h" 4 #include "In...
分类:
其他好文 时间:
2014-06-06 10:50:30
阅读次数:
282
二分法插入排序算法思想简单描写叙述:在插入第i个元素时,对前面的0~i-1元素进行折半,先跟他们中间的那个元素比,假设小,则对前半再进行折半,否则对后半进行折半,直到left>right,然后再把第i个元素前1位与目标位置之间的全部元素后移,再把第i个元素放在目标位置上。二分法没有排序,仅仅有查找。...
分类:
其他好文 时间:
2014-06-06 09:20:35
阅读次数:
224
import static org.junit.Assert.*;import
java.util.Arrays;import org.junit.Test;public class SortAlgorithms { /** *
插入排序算法 * * @param n...
分类:
其他好文 时间:
2014-06-06 07:07:40
阅读次数:
205
思路:从数组第二个元素开始折半插入,即把第一个元素看成有序的,然后下标后移一位,直到数组最后一个元素折半插入成功,注意:数组第0号元素不存值,用来存储每次要插入的数据步骤:1.判断要插入的元素是否处于有序状态,是则继续,否则下标后移
2.利用折半查找要插入的下标,记为t 3.从t开始所有数...
分类:
其他好文 时间:
2014-06-05 17:39:25
阅读次数:
177
package chap02;import static
org.junit.Assert.*;import java.util.Arrays;import java.util.Random;import
org.junit.Test;/*** * 在归并排序中对小数组采用插入排序 * * @aut...
分类:
其他好文 时间:
2014-06-05 16:51:05
阅读次数:
197