标签:api cout span tree nbsp 数组 heap 个数 namespace
堆最好是使用数组来表示。。。。。
#include<iostream> using namespace std; void swap(int arr[],int i,int j) { int temp = arr[i]; arr[i]=arr[j]; arr[j]=temp; } void heapify(int tree[],int n,int i)//n代表节点的数目,i代表对那个数字进行操作 { if(i>=n) { return ; } int c1=2*i+1;//左儿子 int c2=2*i+2;//右儿子 int max =i; if(c1<n&&tree[c1]>tree[max]) { max=c1; } if(c2<n&&tree[c2]>tree[max]) { max=c2; } if(max !=i) { swap(tree,max,i); heapify(tree,n,max); } } int main() { int tree[]={4,10,3,5,1,2};//待排序的堆 int n=6; heapify(tree,n,0); for(int i=0;i<n;i++)//打印排序后的结果 { cout<<tree[i]<<endl; } return 0; }
标签:api cout span tree nbsp 数组 heap 个数 namespace
原文地址:https://www.cnblogs.com/chuxinbubian/p/11564893.html