选择排序之堆排序(大顶堆)

RT


#include
#define N 8
using namespace std;

void SiftAdjust(int *scr, int low, int high);
void HeapSort(int *scr, int n);
void Print(int *scr, int n);
void Swap(int *scr1, int *scr2);

int main()
{
    int scr[N] = {36, 48, 48, 90, 88, 80, 76, 99};

    cout<<"原始顺序:";
    Print(scr, N);
    HeapSort(scr, N);
    cout<= 0; i--)
    {//调整成大顶堆
        SiftAdjust(scr, i, n-1);
    }
    cout< 0; i--)
    {//第i趟排序
        Swap(&scr[0], &scr[i]);//将堆顶元素与未经排序的子序列中的最后一个元素交换
        //cout<
选择排序之堆排序(大顶堆)_第1张图片

你可能感兴趣的:(数据结构)