提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
插入排序的代码实现虽然没有冒泡排序和选择排序那么简单粗暴,但它的原理应该是最容易理解的了,因为只要打过扑克牌的人都应该能够秒懂。插入排序是一种最简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序和冒泡排序一样,也有一种优化算法,叫做拆半插入。
一、使用步骤
1.引入库
代码如下(示例):
#include<stdio.h>
charu(int arr[],int n)
{
int i,j,min;
for(i=1;i<n;i++)
{
min=arr[i];
j=i-1;
while(j>=0&&arr[j]>min)
{
arr[j+1]=arr[j];
j--;
}
arr[j+1]=min;
}
}
int main()
{
int i;
int arr[]={44,12,56,78,45,96,58,47,63,45,79,165};
int n=(int)sizeof(arr)/sizeof(*arr);
charu(arr,n);
for(i=0;i<n;i++)
printf("%d ",arr[i]);
printf("\n");
return 0;
}
2.插入排序代码
代码如下(示例):
#include<stdio.h>
charu(int arr[],int n)
{
int i,j,min;
for(i=1;i<n;i++)
{
min=arr[i];
j=i-1;
while(j>=0&&arr[j]>min)
{
arr[j+1]=arr[j];
j--;
}
arr[j+1]=min;
}
}