前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >c-直接插入排序

c-直接插入排序

作者头像
kdyonly
发布2023-03-03 19:18:00
2240
发布2023-03-03 19:18:00
举报
文章被收录于专栏:个人编程笔记个人编程笔记

浏览量 1

直接插入排序:现在我从数组里面拿到一个数,此时我需要将这个数放到我前面已经排好的序列里面。

代码语言:javascript
复制
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
/*直接插入排序(从小到大)
先判断是否需要插入,即a[i]是否小于a[i-1],如果小于则从后往前查找直到找正确的位置,然后将比他大的数据后移。*/
void sort(int a[],int len)
{
	int i, j;
	for (i = 1; i < len; i++)
	{
		if (a[i] < a[i - 1])
		{
			int tmp = a[i];
			for (j = i - 1; j >= 0&&a[j]>tmp; j--)
			{
				a[j + 1] = a[j];
			}
			a[j + 1]=tmp;
		}
	}
}
void main()
{
    /*利用时间随机数种子,可以使每次的数据不一样*/
	time_t ts;//时间数据类型
	unsigned int num = time(&ts);//获取时间,转换为整数
	srand(num);//初始化随机数种子
	int a[10];
	//初始化数组
	for (int i = 0; i < 10; i++)
	{
		a[i] = rand() % 10;
		printf("%d\n",a[i]);
	}
	sort(a,10);
	for (int i = 0; i < 10; i++)
	{
		printf("%d\n",a[i]);
	}
	system("pause");
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-11-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档