| 目次| 1234567891011121314
| 資料| 予定| 課題| 宿題|

第10回課題回答例

課題

  1. ヒープソートのアルゴリズムを完成し,実行してみる.
        //ヒープソート
        static void sortArray(int[] array){
    	//初期ヒープの作成
    	int bottom = array.length/2 ;
    	int top = array.length;
    	while( bottom > 0 ) {
    	    shiftDown(array, top, bottom);
    	    bottom--;
    	}
    	
    	//ヒープの再編成
    	while( top > 1 ) {
    	    int tmp = array[0];
    	    array[0] = array[top-1];
    	    array[top-1] = tmp;
    	    top--;
    	    shiftDown(array, top, 1);
    	}	
        }
    	

| 目次| 12345678910111213
| 資料| 予定| 課題| 宿題|