135-1821-9792

C++实现希尔排序

#pragma once

void ShellSort(int* array, size_t n)
{
	int gap = n;

	while (gap > 1)
	{
		gap = gap/3 + 1;

		for (size_t i = 0; i < n-gap; ++i)
		{
			int end = i;
			int tmp = array[end+gap];

			while ((end >= 0) && array[end] > tmp)
			{
				array[end+gap] = array[end];
				end -= gap;
			}

			array[end+gap] = tmp;
		}
	}
}

网站名称:C++实现希尔排序
标题来源:http://kswsj.com/article/jsppjs.html

其他资讯



Copyright © 2009-2022 www.kswsj.com 成都快上网科技有限公司 版权所有 蜀ICP备19037934号