0
点赞
收藏
分享

微信扫一扫

【黑马头条】-day07APP端文章搜索-ES-mongoDB

奔跑的酆 04-10 06:30 阅读 1

前言:

什么是插入排序?

插入排序实际上就是将一个数字按照大小顺序插入到已知的序列中去

一、直接插入排序

插入排序的代码如下:

void InsertSort(int* a, int n)
{
	for (int i = 1; i < n; i++)
	{
		int end = i - 1;
		int tmp=a[i];
		while (end>=0)
		{
			if (tmp > a[end])
			{
				a[end + 1] = a[end];
				end--;
			}
			else
			{
				break;
			}
		}
		a[end + 1] = tmp;
	}
}

我们建立一个完整的代码示例并打印结果,给大家看看效果


//插入排序
void PrintArray(int* a, int n)
{
	for (int i = 0; i < n; i++)
	{
		printf("%d ", a[i]);
	}
	printf("\n");
}
void InsertSort(int* a, int n)
{
	for (int i = 1; i < n; i++)
	{
		int end = i - 1;
		int tmp = a[i];
		while (end >= 0)
		{
			if (tmp > a[end])
			{
				a[end + 1] = a[end];
				end--;
			}
			else
			{
				break;
			}
		}
		a[end + 1] = tmp;
	}
}

void TestInsertSort()
{
	int a[] = { 1,2,4,7,8,2,5,3 };
	PrintArray(a, sizeof(a) / sizeof(a[0]));
	InsertSort(a, sizeof(a) / sizeof(a[0]));
	PrintArray(a, sizeof(a) / sizeof(a[0]));
}
int main()
{
	TestInsertSort();
	return 0;
}

运行结果:

举报

相关推荐

0 条评论