插入排序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了插入排序相关的知识,希望对你有一定的参考价值。

/**********************************************************
函数功能:插入排序
入口参数: int型数组
返回值:   void
作者  :  hx
修改日期:  2017.5.1 
**********************************************************/

#include<stdio.h>
#define   length     10
void  insertion_sort(int* a);
int main (void)
{
  int a[length]={1,2,4,5,3,7,9,8,0,6};
  int i,j;
  insertion_sort(a);
  for (i=0;i<10;i++)
  {
	printf("%d  ",a[i]);	
		
  }	
	printf("\n");
	return 0;
	
} 

void insertion_sort(int* a)
{
  int i,j;
  int key;
  for (j=2;j<length;j++)
  {
		key=a[j];
		i=j-1;
		while (1>0&&key<a[i])
		{
			a[i+1]=a[i];
			i--;
			a[i+1]=key;  
		
		} 
  }
}
注:数组a,a就是数组的首地址

以上是关于插入排序的主要内容,如果未能解决你的问题,请参考以下文章

排序算法 插入排序(直接插入排序半插入排序希尔排序)

直接插入排序 ,折半插入排序 ,简单选择排序, 希尔排序 ,冒泡排序 ,快速排序 ,堆排序 ,归并排序的图示以及代码,十分清楚

算法插入排序——希尔排序+直接插入排序

第三篇,插入排序算法:直接插入排序希尔排序

❤️数据结构入门❤️(4 - 3)- 插入排序

java排序之插入排序(直接插入排序和希尔排序)