C语言排序之堆排序

匿名 (未验证) 提交于 2019-12-02 23:57:01
#include void swap(int *array,int a,int b) { int temp = array[a]; array[a] = array[b]; array[b] = temp; } void AdjustHeap(int *array,int s,int m) { int temp; int j ; temp = array[s]; for(j = 2*s; j = array[j]) { break; } array[s] = array[j]; s = j; } array[s] = temp; } void HeapSort(int *array,int length) { int i,j; for(i = length/2; i > 0; i--) { AdjustHeap(array,i,length); } for(j = length-1; j > 0; j--) { swap(array,0,j); AdjustHeap(array,0,j-1); } } int main(void) { int k = 0; int Array[5] = {4,2,1,3,0}; HeapSort(Array,5); for(k = 0; k

来源:博客园

作者:晓风哥哥

链接:https://www.cnblogs.com/HMM0530/p/11447762.html

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!