首页 > 编程语言 > 详细

C语言实现插入排序代码

时间:2021-07-31 11:10:17      阅读:30      评论:0      收藏:0      [点我收藏+]

前言

插入排序法:它的基本思想是将一个数据插入到已经排好序的有序表中,从而完成所有数据排序。

听说是一种比较简单的排序算法。

至于该排序的算法复杂度。

嗯,请查其他资料吧。

本次采用C语言的方式实现。

代码实现

#include <stdio.h>

// 打印数组
void print(int *buf, int size)
{
	for (int i = 0; i < size; ++i)
	{
		printf("%d ", buf[i]);
	}

	printf("\n");
}

// 排序数组(从小到大)
void sort(int *buf, int size)
{
	for (int i = 1; i < size; ++i)
	{
		for (int j = i ; j > 0; --j)
		{
			if (buf[j - 1] > buf[j]) //  1.[ > 从小到大 ]  2.[ < 从大到小 ]
			{
				int tmp = buf[j];
				buf[j] = buf[j - 1];
				buf[j - 1] = tmp;
			}
		}
	}
}

// 主函数
int main(int argc, char **argv)
{
	int buf[] = { 33, 2, 3, 3, 2, 1, 1, 2, 3, 3, 1, 1, 1, 1, 1, 1 }; // 源数组

	int size = sizeof(buf) / sizeof(int); // 数组大小

	print(buf, size); // 打印插入排序前数组

	sort(buf, size);  // 执行插入排序

	print(buf, size); // 打印插入排序后数组

	return 0;
}

调试结果

技术分享图片

结语

嗯。

好像是简单。

---End

C语言实现插入排序代码

原文:https://www.cnblogs.com/lvvou/p/15082972.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!