☆ぽっち☆◎さんとモバ友になろう!

日記・サークル・友達・楽しみいっぱい!

Yahoo! JAPAN IDだけで遊べる!今すぐ遊ぶ!

    • 2012/11/27 21:21
    • クイックソート2
    • コメント(0)
    • 閲覧(18)
  • "アバター"

    • static void quicksort(int D[], int left, int right) {
      int pivot; // 基準値の場所

      if (left >= right ) return; // 入力データの数が1以下ならば処理を終了

      pivot=partition(D,left,right);   /*??*/ // 関数partitionの呼び出し

      printf("left = %d, right = %d, pivot = %d\n", left, right, pivot);
      print_data(D, DSIZE);

      quicksort(D,left,pivot-1);   /*??*/
      quicksort(D,pivot+1,right);   /*??*/

      } // end quicksort
      static int partition(int D[], int left, int right) {
      int pd; // 基準値
      int i, j,k;

      // left < right
      // 基準値となるデータD[k]を選択.kに適切な値を設定する.
      pd=D[k];  /*??*/
      swap(&D[k],&D[right]);  /*??*/
      i=left;  /*??*/
      j=right-1;  /*??*/
      while(i<=j){  /*??*/
      while(D[i]<pd){i=i+1;}  /*??*/
      while((pd<=D[j])&&(i<=j)){j=j-1;}  /*??*/
      if(i<j)swap(&D[i],&D[j]); /*??*/
      } /*??*/
      swap(&D[i],&D[right]);  /*??*/
      return i; /*??*/

      } // end partition
      // ソート対象の配列の表示
      static void print_data(int D[], int n){
      int i;

      for(i=0; i<n; i++) printf("%3d", D[i]);
      printf("\n");
      } // end print_data

コメント一覧

更新する

この日記を違反通報する

☆ぽっち☆◎さんの
お友達の最新日記

日記を探す

気になるキーワードで検索

みんなの新着日記