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# はデジタル変換のための中国語アルゴリズムを記述します

ブログ    

推薦する

機械学習の収益は2023年までに803億ドルに達すると予想されている

機械学習を活用したソリューションとプロセスは、医療、情報技術 (IT)、農業、教育、エレクトロニクス...

AIと自動化により企業のクラウド移行が改善

COVID-19 パンデミックの影響で、2020 年末までに推定 60% の企業がワークロードをクラ...

...

...

...

4つのニューラルネットワークシーケンスデコードモデルとサンプルコードの説明

[[189448]]以下は、ニューラル ネットワーク モデルにおける 4 つのシーケンス デコード ...

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

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

開発に重点を置き、革新を追求します。 LeaTech Global CTO Leadership Summit が始まりました!

[51CTO.comより]デジタル経済時代の到来が加速し、「第14次5カ年計画」が発表されるにつれ...

Pythonを使用して独自のTwitterボットを構築する方法を学びます

Twitter を使用すると、ユーザーはブログの投稿や記事を世界と共有できます。 Python と ...

多くの企業が自社のサービスはAIだと主張しているが、実際はAIのふりをしている人間である。

[[235932]] 「疑似AI」の台頭:テクノロジー企業がボットの仕事を人間にひそかに任せる方法...

LiDARは自動運転以外にも様々な用途があります!

近年、スマートカーの継続的な発展に伴い、LIDARはますます注目を集めており、特にテスラと他の自動車...

ニューラルネットワークのトレーニングではCPUはGPUより10倍以上高速。インテル:行列演算はもう使わない

ディープラーニングやニューラルネットワークの分野では、研究者は通常、GPU なしでは作業できません。...

AES と RSA 暗号化アルゴリズムの違いと適用可能なシナリオの簡単な分析

[[438491]]情報データ伝送のセキュリティは、常に非常に重要なテーマです。プログラマーとして働...

...