最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

算法學(xué)習(xí)——堆排序

2018-10-16 09:54 作者:動(dòng)力節(jié)點(diǎn)  | 我要投稿

堆排序就是將要排序的對(duì)象構(gòu)造為一個(gè)有序的大頂堆或小頂堆(根據(jù)需要來定,升序排序構(gòu)造大頂堆,降序排序構(gòu)造小頂堆),之后每次將堆頂選出后剩下的節(jié)點(diǎn)元素再次進(jìn)行排序,直到剩下最后一個(gè)節(jié)點(diǎn)元素為止,此時(shí)排序結(jié)束。

?

package pp.suanfa;

?

/**

?* 堆排序

?* @author xiaoGd

?*

?*/

?

public class HeapSort {

????????

???????? public static void adjustMinSort(int[] array,int pos,int len)

???????? {

?????????????????? int temp;

?????????????????? int child;

?????????????????? for(temp=array[pos];2*pos+1<=len;pos=child)

?????????????????? {

??????????????????????????? child = 2*pos + 1;

??????????????????????????? if(child<len&&array[child]>array[child+1])

???????????????????????????????????? child++;

??????????????????????????? if(temp>array[child])

???????????????????????????????????? array[pos] = array[child];

??????????????????????????? else

???????????????????????????????????? break;

?????????????????? }

?????????????????? array[pos] = temp;

???????? }

????????

???????? public static void myMinHeapSort(int[] array)

???????? {

?????????????????? int i;

?????????????????? int len = array.length;

?????????????????? for(i=len/2-1;i>=0;i--)//構(gòu)造一個(gè)小頂堆

??????????????????????????? adjustMinSort(array,i,len-1);

?????????????????? for(i=len-1;i>=0;i--)//循環(huán)一次將最小的數(shù)挑出來,剩下的數(shù)再進(jìn)行堆排序

?????????????????? {

??????????????????????????? int temp = array[0];

??????????????????????????? array[0] = array[i];

??????????????????????????? array[i] = temp;

??????????????????????????? adjustMinSort(array,0,i-1);

?????????????????? }

???????? }

???????? public static void main(String[] args) {

?????????????????? int[] array = {5,7,2,4,6,9,8,1,0,3};

?????????????????? myMinHeapSort(array);

?????????????????? for(int i=0;i<array.length;i++)

?????????????????? {

??????????????????????????? System.out.print(array[i]+" ");

?????????????????? }

???????? }

}



算法學(xué)習(xí)——堆排序的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
阳泉市| 延安市| 小金县| 湘潭市| 南宫市| 嘉义县| 尖扎县| 邻水| 抚宁县| 社旗县| 榆中县| 芜湖县| 仲巴县| 赞皇县| 永善县| 民和| 汉中市| 永胜县| 从化市| 房产| 施甸县| 湘潭县| 象州县| 曲靖市| 平陆县| 无极县| 彰化市| 平谷区| 安陆市| 玛多县| 深圳市| 龙州县| 昌图县| 河池市| 温宿县| 息烽县| 屏南县| 西盟| 北安市| 四平市| 昌邑市|