C# 言語は、まだ比較的一般的なものです。ここでは、バブル ソート、選択ソート、挿入ソート、シェル ソートなど、C# で開発されたソート アルゴリズムを主に紹介します。 バブルソート 言語を学ぶには、データ構造とアルゴリズムを学ぶのに多大な労力が必要です。 - システムの使用;
-
- 名前空間 BubbleSorter
- {
- パブリッククラス BubbleSorter
- {
- パブリック void ソート(int[] リスト)
- {
- 整数 i,j, 温度;
- bool完了= false ;
- 1 = 1 ;
- while((j<list.Length)&&(!done))
- {
- 完了= true ;
- ( i = 0 ; i < list.Length - j ; i++)の場合
- {
- (リスト[i]>リスト[i+1])の場合
- {
- 完了= false ;
- temp =リスト[i];
- リスト[i]=リスト[i+1];
- リスト[i+1] = temp;
- }
- }
- j++;
- }
-
- }
- }
- パブリッククラス MainClass
- {
- パブリック静的 void Main()
- {
- int[] iArrary =新しいint[]{1,5,13,6,10,55,99,2,87,12,34,75,33,47};
- バブルソーターsh = new BubbleSorter();
- sh.Sort(i配列);
- (int m = 0 ; m < iArrary.Length; m++)の場合
- Console.Write("{0} ",iArrary[m]);
- コンソールに行を書き込む
- }
- }
- }
選択ソート ソートアルゴリズムの開発には C# を使用しました。 C# 言語の学習者に何らかのメリットをもたらすことができれば幸いです。言語を学ぶには、データ構造とアルゴリズムを学ぶのに多大な労力が必要であることを忘れないでください。 - システムの使用;
-
- 名前空間SelectionSorter
- {
- パブリッククラス SelectionSorter
- {
- プライベート int min;
- パブリック void ソート(int[] リスト)
- {
- (int i = 0 ; i < list.Length - 1; i++)の場合
- {
- 最小値= i;
- (int j = i + 1; j < list.Length; j++)の場合
- {
- (リスト[j]<リスト[min])の場合
- 最小値= j ;
- }
- int t =リスト[分];
- リスト[min] = リスト[i];
- リスト[i] = t;
- }
-
- }
- }
- パブリッククラス MainClass
- {
- パブリック静的 void Main()
- {
- int[] iArrary =新しいint[]{1,5,3,6,10,55,9,2,87,12,34,75,33,47};
- 選択ソーターss =新しい選択ソーター();
- ss.Sort(i配列);
- (int m = 0 ; m < iArrary.Length; m++)の場合
- Console.Write("{0} ",iArrary[m]);
- コンソールに行を書き込む
-
- }
- }
- }
挿入ソート 挿入ソートアルゴリズム。 C# プログラミング スキルを向上させたい友人同士で、お互いに話し合うことができます。たとえば、次のプログラムはポリモーフィズムを実装していません。これを実装できるようにしてみましょう。 - システムの使用;
-
- 名前空間 InsertionSorter
- {
- パブリッククラス InsertionSorter
- {
- パブリック void ソート(int[] リスト)
- {
- (int i = 1 ; i < list.Length; i++)の場合
- {
- int t =リスト[i];
- 整数j = i ;
- ((j>0)&&(リスト[j-1]>t))の間
- {
- リスト[j]=リスト[j-1];
- --j;
- }
- リスト[j] = t;
- }
-
- }
- }
- パブリッククラス MainClass
- {
- パブリック静的 void Main()
- {
- int[] iArrary =新しいint[]{1,13,3,6,10,55,98,2,87,12,34,75,33,47};
- 挿入ソーターii =新しい挿入ソーター();
- ii.Sort(i配列);
- (int m = 0 ; m < iArrary.Length; m++)の場合
- Console.Write("{0}",iArrary[m]);
- コンソールに行を書き込む
- }
- }
- }
シェルソート シェルソートは、グループをセグメントに分割して挿入ソートを実行します。C#言語のプログラミングスキルを向上させたい友人同士で、お互いに議論することができます。たとえば、次のプログラムはポリモーフィズムを実装していません。これを実装できるようにしてみましょう。 - システムの使用;
-
- 名前空間 ShellSorter
- {
- パブリッククラス ShellSorter
- {
- パブリック void ソート(int[] リスト)
- {
- int インク;
- inc = 1 ; inc <= list.Length / 9; inc = 3 * inc + 1の場合);
- (; inc > 0; inc /= 3) の場合
- {
- (int i = inc + 1; i <= list.Length; i += inc)の場合
- {
- int t =リスト[i-1];
- 整数j = i ;
- ((j>inc)&&(リスト[j-inc-1]>t))の間
- {
- リスト[j-1]=リスト[j-inc-1];
- j- =増加;
- }
- リスト[j-1] = t;
- }
- }
- }
- }
- パブリッククラス MainClass
- {
- パブリック静的 void Main()
- {
- int[] iArrary =新しいint[]{1,5,13,6,10,55,99,2,87,12,34,75,33,47};
- ShellSorter sh =新しいShellSorter();
- sh.Sort(i配列);
- (int m = 0 ; m < iArrary.Length; m++)の場合
- Console.Write("{0} ",iArrary[m]);
- コンソールに行を書き込む
- }
- }
- }
上記はC#で開発されたソートアルゴリズムを紹介した。 |