堆排序算法.cpp

来自「大学计算机专业课程中数据结构各章的算法设计」· C++ 代码 · 共 36 行

CPP
36
字号
#include<iostream.h>
const int N=8;
void output(int table[],int n);
void swap(int table[],int i,int j);
void sift(int table[].int left,int right)
{
	int i,j,x;
	i=left;
	j=2*i;
	x=table(j<right)
	{
		if(j<right&&table[j]>table[j+i])
			j++;
		if(x>table[j])
		{
			table[i]=table[j];
			i=j;
			j=2*i;
		}
		else
			j=right+1;
	}
	table[i]=x;
	cout<<"sift "<<left<<"~"<<right<<" ";
	output(table,N+1);
} 
void heapsort(int table[],int n)
{
    int j;
	for(j=n/2;j>0;j--)
		sift(table,j,n);
	for(j=n,j>1;j--)
	{
		swap
	}
}

⌨️ 快捷键说明

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