首页 > 代码库 > c语言数据结构之 插入排序
c语言数据结构之 插入排序
算法:从第二个元素开始,与前一个元素进行比较,如果小于前一个元素,两者交换位置,一直循环到不再小为止
编译器:VS2013
代码
#include "stdafx.h"
#include<stdlib.h>
//函数声明
void InsertSort(int a[],int n); //插入排序(从小到大)
int main()
{
int i,n,a[100];
printf("请输入需要排序元素的个数:");
scanf_s("%d", &n);
printf("随机生成的数组为:");
for (i = 1; i <= n; i++)
{
a[i] = rand() % 100 + 1;
printf("%d ", a[i]);
}
a[i] = ‘\0‘;
printf("\n");
InsertSort(a, n);
}
//插入排序(从小到大)
void InsertSort(int a[],int n)
{
int i=2,j;
while (i <= n)
{
j = i;
a[0] = a[i];
while (a[j] < a[j - 1])
{
a[j] = a[j - 1];
a[j - 1] = a[0];
j--;
}
i++;
}
printf("插入排序后的结果(从小到大):");
for (i = 1; i <= n; i++)
printf("%d ", a[i]);
printf("\n\n");
}
结果
c语言数据结构之 插入排序
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。