亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++實現堆排序

發布時間:2020-04-18 21:44:29 來源:網絡 閱讀:441 作者:zgw285763054 欄目:編程語言
/*堆排序*/

#include <iostream>
using namespace std;

void AdjustDown(int* array, size_t size, size_t parent)
{
	size_t child = parent*2 + 1;

	while (child < size)
	{
		if (child+1 < size 
			&& array[child] < array[child+1])
		{
			++child;
		}

		if (array[child] > array[parent])
		{
			swap(array[child], array[parent]);

			parent = child;
			child = parent*2 + 1;
		}
		else
		{
			break;
		}
	}
}

void HeapSort(int* array, size_t size)
{
	//建堆
	for (int i = (size-2)/2; i >= 0; --i)
	{
		AdjustDown(array, size, i);
	}

	//選數據排序
	for (size_t i = 0; i < size; ++i)
	{
		swap(array[0], array[size-i-1]);

		AdjustDown(array, size-i-1, 0);
	}
}

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

浮梁县| 新昌县| 获嘉县| 县级市| 教育| 华池县| 叙永县| 大余县| 延寿县| 白银市| 革吉县| 南康市| 柳河县| 大理市| 广灵县| 湘潭县| 新疆| 聂荣县| 滦南县| 绥德县| 集安市| 桂林市| 东兴市| 陕西省| 麦盖提县| 榆树市| 阜阳市| 金寨县| 洮南市| 绥阳县| 廉江市| 平和县| 高碑店市| 花莲市| 定日县| 荣昌县| 巴东县| 吉水县| 博客| 马龙县| 溧水县|