C言語でどのようにバブルソート?

いくつかの単語の男は、以下のようにコードは、言いました:

1の#include <stdio.hの>
 2  
3。 INT メイン()
 4。 {
 5。     int型 A [ 100 ]、I、J、T、N-;
 6。      のprintf(" ソートする値の数を入力してください" );
 7。      scanf_s (" %のD "、N&);          // 次の数Nがあることを示す入力数N、
。8      ための式(I = 1、Iは<= N; I ++ 9。     {
 10          // ループをNアレイの数を読み取ることで
。11          のprintf(" 数ソートする入力してください:\ N-を" );
 12は          scanf_s(" %のD "、A&[I]);
 13である     }
 14      // セクションソーティングコアバブル
15を     するためには、(私は= 1 I <= N; I ++)// n個並べ替えの、唯一のn-1回
16      {
 17。         ため(J = 1。 ; J <= N - I; J ++)   // 最初のものから開始し、最後の比較がされていないまで正規化ビット数
18である         {
 19              IF([J] <[+ J 1 ])   // サイズの比較および交換
20は             、{
 21は                  T = ; A [J]
 22である                  A [J] = A [+ J 1 ];
 23のIS                 [J + 1 ] = T。
24              }
 25          }
 26      }
 27      のためには、(iは= 1 ; I <= N; I ++ 28      {
 29          のprintf(" %dの" 、[I])。
30      }
 31      GETCHAR()。
32      GETCHAR()。
33      リターン 0 ;
34 }

 結果は以下の通りであります:

次のようにハイとローのスコアは、構造体を使用し、名前をソートします。

#define _CRT_SECURE_NO_DEPRECATE 
する#include <stdio.hに> //は名前とスコア記憶するための構造の作成構造体体mystruct 
{ チャー名を[ 21である];
     CHAR スコア; 
}; int型のmain()
{ 構造体体mystruct A [ 100 ]、T。
     INT I、J、N; 
    scanfの(" %のD "、N&); // 入力数N、数をソートする
     // サイクルおよびnフラクション個人名に読み込むための式(I = 1 ; I <= N。 ++ I 
    { 
        scanfの(" %S%D "



    


    
    、A&[I] .nameの、&​​A [I] .score); 
    } 
    // 降順にスコアによってバブルソート
    のために、私は=(1 ; I <= N; I ++ 
    { 
         Jは=(1。 ; J <N-; J ++)    // 比較スコア用
        {
             IF(A [J] .score <A [+ J 1。.score)] 
            { 
                T = A [J]、
                A [J] = A [+ J 。1 ]、
                A [J + 1 ] = T; 
            } 
        } 
    } 
    // 出力名
    (iは= 1 ; I <= N; I ++ 
    { 
        のprintf(" %sの\ n " 、[I] .nameの)。
    } 
    GETCHAR()。
    getchar(); 
    リターン 0 ; 
}

結果は以下のとおりであります

 

おすすめ

転載: www.cnblogs.com/YanQing1998/p/11991743.html