十年網(wǎng)站開(kāi)發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶(hù) + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專(zhuān)業(yè)推廣+無(wú)憂(yōu)售后,網(wǎng)站問(wèn)題一站解決
#includevoid Show(int arr[], int n) { int i; for ( i=0; i a[i])//根比左右都大,跳出循環(huán) break; else{ a[start] = a[i];//把孩子子樹(shù)中大的值放在父節(jié)點(diǎn) start = i; } } a[start] = temp; } int* HeapBuild(int array[], int length) { int i; for ( i = length / 2 - 1; i >= 0; i--) { HeapAdjust(array, i, length); } return array; } // 堆排序算法 int* HeapSort(int a[],int length){ int i; a = HeapBuild(a,length); for(i = length-1;i>0;i--){ Swap(&a[0],&a[i]); HeapAdjust(a,0,i); } return a; } int main() { //測(cè)試數(shù)據(jù) int *a; int arr_test[10] = { 8, 4, 2, 3, 5, 1, 6, 9, 0, 7 }; Show(arr_test,10); a = HeapSort(arr_test,10); Show(a,10); return 0; } 優(yōu)化: #include #include int * DuiPaixu(int a[],int n){ int end = n,i,t,x,y; while(end >= 1){ while(1){ int flag = 0; i=end/2; while(i > 0){ if(a[i] < a[2*i]){ t = a[i]; a[i] = a[2*i]; a[2*i] = t; flag = 1; } if(2*i+1 <= end&&a[i] < a[2*i+1]){ x = a[i]; a[i] = a[2*i+1]; a[2*i+1] = x; flag = 1; } i--; } if(!flag) break; } y = a[1]; a[1] = a[end]; a[end] = y; end--; } return a; } void Print(int a[],int n){ int i; for(i=1;i<=n;i++){ printf("%5d",a[i]); } } int main(void){ int n,i; int * a; printf("請(qǐng)輸入數(shù)組長(zhǎng)度n= "); scanf("%d",&n); a=(int*)malloc(n*sizeof(int)); printf("請(qǐng)輸入數(shù)組元素: "); for(i=1;i<=n;i++){ scanf("%d",&a[i]); } a = DuiPaixu(a,n); Print(a,n); return 0; }
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。