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

📄 maxheap.c

📁 maximum heap and print
💻 C
字号:
 #include<stdio.h>
 #include<stdlib.h>
 #include<math.h>
 #define HEAP_SIZE 10 
 int parent(int i);  
 int left(int i);
 int right(int i);
 void Max_Heapify(int A[],int i,int heap_size);
 void Build_Max_Heap(int A[]);
 void print(int A[]);
 void HeapSort(int A[],int heap_size);
 
 void Max_Heapify(int A[],int i,int heap_size) 
 {
	int temp=A[i];
	int j=i*2;
	while(j<=heap_size)
	{
		if(j<heap_size) && A[j]<A[j+1]) j++;
		if(temp> A[j]) break;
		A[i]=A[j];
		i=j;
		j=i*2
	}
	A[i]=temp;
 }
 
 void Build_Max_Heap(int A[])
 {
   for(int i=HEAP_SIZE/2;i>=1;i--)
   {
     Max_Heapify(A,i,HEAP_SIZE);                         
   }     
 }
 
 void print(int A[])
 {
   for(int i=0;i<11;i++)
   {
     printf("%d ",A[i]);
   }
   printf("\n");
 }
 
 void HeapSort(int A[],int heap_size)
 {

   Build_Max_Heap(A);
  
   print(A);       
 }
 
 int main()
 {
   int A[11]={0,1,10,14,16,4,7,9,3,2,8};
   print(A);
   HeapSort(A,HEAP_SIZE);
 
 
   system("pause"); 
 }

⌨️ 快捷键说明

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