⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 堆调整排序.cpp

📁 五种排序算法
💻 CPP
字号:
#include <iostream>
#include <cstdlib>
using namespace std;
void HeapAdjust(int *a,int root,int len)
{
    int child,x=a[root];
    while (child=root<<1|1,child<len)
    {
        if (child<len-1 && a[child]<a[child+1])child++;
        if (x<a[child]){a[root]=a[child];root=child;}
        else break;
    }
    a[root]=x;
}

//堆排序
void HeapSort(int*a,int len)
{
    for (int i=len/2-1;i>=0;i--)
        HeapAdjust(a,i,len);
    while (--len)
    {
        swap(a[0],a[len]);
        HeapAdjust(a,0,len);
    }
}

int main()
{
	int a[10]={15,6,3,16,25,48,48,59,23,12};
	HeapSort(a,10);
	cout<<a[0];
	for(int i=1;i<10;i++)
	{
		cout<<","<<a[i];
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -