C# で開発されたソートアルゴリズムの詳細な説明

C# で開発されたソートアルゴリズムの詳細な説明

C# 言語は、まだ比較的一般的なものです。ここでは、バブル ソート、選択ソート、挿入ソート、シェル ソートなど、C# で開発されたソート アルゴリズムを主に紹介します。

バブルソート

言語を学ぶには、データ構造とアルゴリズムを学ぶのに多大な労力が必要です。

  1. システムの使用;
  2.  
  3. 名前空間 BubbleSorter
  4. {
  5. パブリッククラス BubbleSorter
  6. {
  7. パブリック void ソート(int[] リスト)
  8. {
  9. 整数 i,j, 温度;
  10. bool完了= false ;
  11. 1 = 1 ;
  12. while((j<list.Length)&&(!done))
  13. {
  14. 完了= true ;
  15. ( i = 0 ; i < list.Length - j ; i++)の場合
  16. {
  17. (リスト[i]>リスト[i+1])の場合
  18. {
  19. 完了= false ;
  20. temp =リスト[i];
  21. リスト[i]=リスト[i+1];
  22. リスト[i+1] = temp;
  23. }
  24. }
  25. j++;
  26. }
  27.  
  28. }
  29. }
  30. パブリッククラス MainClass
  31. {
  32. パブリック静的 void Main()
  33. {
  34. int[] iArrary =新しいint[]{1,5,13,​​6,10,55,99,2,87,12,34,75,33,47};
  35. バブルソーターsh = new BubbleSorter();
  36. sh.Sort(i配列);
  37. (int m = 0 ; m < iArrary.Length; m++)の場合
  38. Console.Write("{0} ",iArrary[m]);
  39. コンソールに行を書き込む
  40. }
  41. }
  42. }

選択ソート

ソートアルゴリズムの開発には C# を使用しました。 C# 言語の学習者に何らかのメリットをもたらすことができれば幸いです。言語を学ぶには、データ構造とアルゴリズムを学ぶのに多大な労力が必要であることを忘れないでください。

  1. システムの使用;
  2.  
  3. 名前空間SelectionSorter
  4. {
  5. パブリッククラス SelectionSorter
  6. {
  7. プライベート int min;
  8. パブリック void ソート(int[] リスト)
  9. {
  10. (int i = 0 ; i < list.Length - 1; i++)の場合
  11. {
  12. 最小値= i;
  13. (int j = i + 1; j < list.Length; j++)の場合
  14. {
  15. (リスト[j]<リスト[min])の場合
  16. 最小値= j ;
  17. }
  18. int t =リスト[分];
  19. リスト[min] = リスト[i];
  20. リスト[i] = t;
  21. }
  22.  
  23. }
  24. }
  25. パブリッククラス MainClass
  26. {
  27. パブリック静的 void Main()
  28. {
  29. int[] iArrary =新しいint[]{1,5,3,6,10,55,9,2,87,12,34,75,33,47};
  30. 選択ソーターss =新しい選択ソーター();
  31. ss.Sort(i配列);
  32. (int m = 0 ; m < iArrary.Length; m++)の場合
  33. Console.Write("{0} ",iArrary[m]);
  34. コンソールに行を書き込む
  35.  
  36. }
  37. }
  38. }

挿入ソート

挿入ソートアルゴリズム。 C# プログラミング スキルを向上させたい友人同士で、お互いに話し合うことができます。たとえば、次のプログラムはポリモーフィズムを実装していません。これを実装できるようにしてみましょう。

  1. システムの使用;
  2.  
  3. 名前空間 InsertionSorter
  4. {
  5. パブリッククラス InsertionSorter
  6. {
  7. パブリック void ソート(int[] リスト)
  8. {
  9. (int i = 1 ; i < list.Length; i++)の場合
  10. {
  11. int t =リスト[i];
  12. 整数j = i ;
  13. ((j>0)&&(リスト[j-1]>t))の間
  14. {
  15. リスト[j]=リスト[j-1];
  16. --j;
  17. }
  18. リスト[j] = t;
  19. }
  20.  
  21. }
  22. }
  23. パブリッククラス MainClass
  24. {
  25. パブリック静的 void Main()
  26. {
  27. int[] iArrary =新しいint[]{1,13,3,6,10,55,98,2,87,12,34,75,33,47};
  28. 挿入ソーターii =新しい挿入ソーター();
  29. ii.Sort(i配列);
  30. (int m = 0 ; m < iArrary.Length; m++)の場合
  31. Console.Write("{0}",iArrary[m]);
  32. コンソールに行を書き込む
  33. }
  34. }
  35. }

シェルソート

シェルソートは、グループをセグメントに分割して挿入ソートを実行します。C#言語のプログラミングスキルを向上させたい友人同士で、お互いに議論することができます。たとえば、次のプログラムはポリモーフィズムを実装していません。これを実装できるようにしてみましょう。

  1. システムの使用;
  2.  
  3. 名前空間 ShellSorter
  4. {
  5. パブリッククラス ShellSorter
  6. {
  7. パブリック void ソート(int[] リスト)
  8. {
  9. int インク;
  10. inc = 1 ; inc <= list.Length / 9; inc = 3 * inc + 1の場合);
  11. (; inc > 0; inc /= 3) の場合
  12. {
  13. (int i = inc + 1; i <= list.Length; i += inc)の場合
  14. {
  15. int t =リスト[i-1];
  16. 整数j = i ;
  17. ((j>inc)&&(リスト[j-inc-1]>t))の間
  18. {
  19. リスト[j-1]=リスト[j-inc-1];
  20. j- =増加;
  21. }
  22. リスト[j-1] = t;
  23. }
  24. }
  25. }
  26. }
  27. パブリッククラス MainClass
  28. {
  29. パブリック静的 void Main()
  30. {
  31. int[] iArrary =新しいint[]{1,5,13,​​6,10,55,99,2,87,12,34,75,33,47};
  32. ShellSorter sh =新しいShellSorter();
  33. sh.Sort(i配列);
  34. (int m = 0 ; m < iArrary.Length; m++)の場合
  35. Console.Write("{0} ",iArrary[m]);
  36. コンソールに行を書き込む
  37. }
  38. }
  39. }

上記はC#で開発されたソートアルゴリズムを紹介した。

<<:  よく使われる 3 つの C# ソート アルゴリズム

>>:  C# はデジタル変換のための中国語アルゴリズムを記述します

ブログ    
ブログ    
ブログ    

推薦する

...

アルゴリズムに関する8冊の良書を読めば、AIを本当に理解できる

[[241723]]新しい技術を学ぶとき、多くの人は公式ドキュメントを読み、ビデオチュートリアルやデ...

人工知能は患者と医療業界の両方にどのような利益をもたらすのでしょうか?

人工知能は医療業界のシステムと方法を変えています。半世紀以上にわたり、人工知能とヘルスケアは一緒に発...

...

...

Google は NeRF を使用して、自動運転用の仮想世界でサンフランシスコを再現します

自動運転システムのトレーニングには、高精度のマップ、膨大な量のデータ、仮想環境が必要です。この方向で...

...

Google DeepMind の最新研究: 敵対的攻撃は人間に対しても有効であり、人間も AI も花瓶を猫と間違える!

人間のニューラルネットワーク(脳)と人工ニューラルネットワーク(ANN)の関係は何ですか?ある先生が...

機械学習と従来のプログラミングの違いについて話す

[[264779]] AI と ML は誇張されすぎていて、if 文を書いたりプログラミングに関係す...

...

5G+ロボットが炭鉱のインテリジェント開発を加速します!

最近、山西省太原でインテリジェント炭鉱・安全生産フォーラムが盛大に開催され、炭鉱のインテリジェント建...

エッジAIはIoTのメリットを高める

今日のデジタル世界では、人工知能とモノのインターネットが私たちの生活のあらゆる側面に大きな変化をもた...

...