C语言之插入排序

简介:

插入法排序的要领就是每读入一个数立即插入到最终存放的数组中,每次插入都使得该数组有序。


上代码:

#include <stdio.h>
#include <stdlib.h>
#define n 10 

int main()
{ 
  int a[n]={-1,3,6,9,13,22,27,32,49};  /*注意留一个空间给待插数*/
  int x,j,k;   
  x = rand()%100;
  printf("随机产生x的值为:%d\n",x);
  if(x>a[n-2]) 
  {
     a[n-1]=x ;    /*比最后一个数还大就往最后一个元素中存放*/
  }
  else          /*查找待插位置*/
  {
       j=0;
       while( j<=n-2 && x>a[j])
	   { 
 			j++;            
 	   }
	   for(k=n-2; k>=j; k--)
	   {    /*从最后一个数开始直到待插位置上的数依次后移一位*/
			a[k+1]=a[k];
	   }
		       a[j]=x;      /*插入待插数*/ 
  }
  printf("输出:\n");
       for(j=0;j<=n-1;j++)  
	   	 printf("%d  ",a[j]);
	return 0 ;
}


运行结果:

随机产生一个数插入到已有的数组中,排序后输出:




目录
相关文章
|
C语言
对链表使用插入排序的C语言实现示例
对链表使用插入排序的C语言实现示例
138 1
|
C语言
C语言实现插入排序
C语言实现插入排序
90 0
|
搜索推荐 算法 C语言
插入排序C语言,小白必看的教科书般详解
插入排序C语言,小白必看的教科书般详解
|
存储 算法 搜索推荐
用C语言进行学生成绩排序(插入排序)
本文主要是用C语言进行学生成绩按分数排序(插入排序)
499 1
用C语言进行学生成绩排序(插入排序)
|
搜索推荐 算法 C语言
【数据结构】—从直接插入排序升级到希尔排序究极详解(含C语言实现)
【数据结构】—从直接插入排序升级到希尔排序究极详解(含C语言实现)
|
算法 C语言
插入排序-C语言实现
插入排序-C语言实现
224 0
|
算法 C语言
直接插入排序--C语言(附详细代码)(附图详解)
直接插入排序--C语言(附详细代码)(附图详解)
786 0
|
存储 搜索推荐 测试技术
数据结构__<八大排序> __插入排序 |希尔排序 |选择排序 |堆排序 |快速排序 |归并排序(C语言实现)
数据结构__<八大排序> __插入排序 |希尔排序 |选择排序 |堆排序 |快速排序 |归并排序(C语言实现)
372 0
|
算法 C语言
C语言---插入排序(直接插入和希尔)
C语言---插入排序(直接插入和希尔)
422 0
C语言经典实例:21-30例:插入排序、希尔排序1、快速排序、希尔排序2、递归法、完数、斐波那契数列、公约数和公倍数、判断水仙花数统计单词个数
C语言经典实例:21-30例:插入排序、希尔排序1、快速排序、希尔排序2、递归法、完数、斐波那契数列、公约数和公倍数、判断水仙花数统计单词个数
C语言经典实例:21-30例:插入排序、希尔排序1、快速排序、希尔排序2、递归法、完数、斐波那契数列、公约数和公倍数、判断水仙花数统计单词个数