📄 sort_heap.cpp
字号:
#include <fstream.h>
#include "data.h"
//Heapify函数,s为堆长
void Heapify(int a[],int k,int s)
{
int l,largest;
l=2*k+1;
largest=k;
if(l<s&&a[largest]<a[l])
largest=l;
l++;
if(l<s&&a[largest]<a[l])
largest=l;
if(largest!=k)
{
Change(a,k,largest);
Heapify(a,largest,s);
}
}
//建堆
void BuildHeap(int a[])
{
int i,h;
h=number;
for(i=number/2-1;i>=0;i--)
{
Heapify(a,i,h);
}
}
//建排序
void Heap_sort(int a[])
{
int i,h;
h=number;
BuildHeap(a);
for(i=number-1;i>0;i--)
{
Change(a,0,i);
h--;
Heapify(a,0,h);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -