排序算法代码---插入排序

原创 2008年07月11日 23:13:00
#include <stdio.h>
void insertionSort(int A[], int len);
void show(int A[], int len);
int main()
{
	int A[] = {1, 3, 2, 5, 7};
	int len = 5;
	insertionSort(A, 5);
	show(A, 5);
	return 0;
}
void insertionSort(int A[], int len)
{
	// 已知A[0..i-1]已排序,将A[i]插入使得A[0..i]成为新的已排序数组
	for (int i=1; i<len; ++i)
	{
		int x = A[i];
		int j = i - 1;
		while (j>-1 && A[j] > x)
		{
			A[j+1] = A[j];
			--j;
		}
		A[j+1] = x;
	}
	return ;
}
void show(int A[], int len)
{
	for (int i=0; i<len; ++i)
		printf("%d/n", A[i]);
	return ;
}

排序算法之直接插入排序的思想以及Java实现

1,基本思想 假设待排序的数据是数组A[1….n]。初始时,A[1]自成1个有序区,无序区为A[2….n]。在排序的过程中,依次将A[i] (i=2,3,….,n)从后往前插入到前面已排好序的子数组...
  • whq19890827
  • whq19890827
  • 2016年08月10日 22:44
  • 1356

【排序算法】插入排序原理及Java实现

直接插入排序的基本操作是将一个记录插入到已经排好的有序表中,从而得到一个新的、记录数增1的有序表。对于给定的一组记录,初始时假定第一个记录自成一个有序序列,其余记录为无序序列。接着从第二个记录开始,按...
  • jianyuerensheng
  • jianyuerensheng
  • 2016年04月26日 21:32
  • 11124

在单链表上实现插入排序

问题:给单链表排序(升序排列,要保持稳定性),要求通过改变结点的next指针从而改变结点的位置,而不是只交换结点的值来使得其有序!时间复杂度为O(N^2),空间复杂度为O(1)。...
  • Jacketinsysu
  • Jacketinsysu
  • 2016年09月17日 20:10
  • 3818

java排序算法一(插入排序法)

插入排序算法                  比如下面的一个数组:        12,8,2,7,15,6,4,11        假如从小到大进行排序,从第二个元素开始,比较其与前面子列...
  • ldld1717
  • ldld1717
  • 2016年09月24日 17:34
  • 305

内部排序-插入排序-二叉树排序法

思想主要是:利用要排序的数据构造二叉树,然后再中序遍历二叉树即可。 方法简单,但是简历的二叉树歪斜程度较大。 时间复杂度O(nlogn), 受树的高度影响。 空间复杂度为O(n), 比较耗费空间...
  • szfhy
  • szfhy
  • 2015年11月26日 21:43
  • 499

链表 操作3 双向链表的 插入排序法

昨天做了某公司的数据结构笔试题: 其中一个小功能 是要求对 双向链表进行 快速排序。   思想: 借用了  nginx 链表排序思想  head   prev next  假设: 从小到大排序 从...
  • vevenlcf
  • vevenlcf
  • 2015年04月18日 14:06
  • 984

插入排序算法代码

参考:http://www.cnblogs.com/jingmoxukong/p/4303289.html public class test { public static void Inser...
  • u011806486
  • u011806486
  • 2016年10月26日 12:51
  • 116

插入排序的一种递归法实现

#include void insertion(int * A,int length); int main() { int i,A[] = {9,0,8,7,6,5,4,3,2,1}; ...
  • xladykiller
  • xladykiller
  • 2010年10月12日 10:40
  • 2558

排序算法Java——插入排序(直接插入排序)

扑克牌相信大家都有玩过,直接插入排序和玩扑克牌很相似,右手抓取一张扑克牌,并把它插入左手拿着的排好序的扑克里面。 如图: 算法介绍: 直接插入排序算法是最简单的算法,也是...
  • singit
  • singit
  • 2017年04月20日 23:48
  • 585

iOS疯狂详解之排序(选择排序/插入排序)

选择排序  1.先求最小值  2.找到位置  3.把位置的数放到有序区  4.重复 for (int j = 0; j < count - 1; j++) { ...
  • wangLongBlog
  • wangLongBlog
  • 2015年05月01日 18:46
  • 1456
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:排序算法代码---插入排序
举报原因:
原因补充:

(最多只允许输入30个字)