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

ブログ    

推薦する

機械学習と予測アプリケーションに必要な50のAPI

[[231536]] API は、ソフトウェア プログラムを構築するためのプロトコルとツールのセッ...

サイバーセキュリティにおける人工知能技術の役割

次世代のサイバーセキュリティの脅威には、新しい予期しない攻撃に迅速に対応できる、俊敏でインテリジェン...

2021 年のテクノロジートレンドはどこに向かうのでしょうか? IEEEが答えを教えます

[[357471]]このほど、全人類に利益をもたらす科学技術の進歩を促進することに尽力している世界最...

...

...

人工知能のゲーム理論:エージェントと人間、エージェントと環境の間のゲーム関係の予備的調査

人工知能 (AI) は、コンピューターや機械をインテリジェントに動作させる方法を研究する分野です。機...

Alibabaオープンソース!軽量ディープラーニングエッジ推論エンジンMNN

最近、アリババは軽量ディープラーニングエッジ推論エンジン「MNN」を正式にオープンソース化しました。...

AIを使ってAIを攻撃する?敵対的機械学習に対する脅威と防御

人工知能 (AI) や機械学習 (ML) プロジェクトを適用する組織が増えるにつれて、これらのプロジ...

少数ショット学習(1) — 機械学習におけるタスク最適化空間

[[401868]]今日のディープラーニングの成功には大量のデータが必要であり、これは不可欠な前提条...

AIとMLがコネクテッドデバイスの成長を促進

COVID-19 パンデミックをきっかけに、ビジネス運営における自動化、リモート監視、制御の必要性が...

SFから現実へ:人間のデジタルツインの旅

サイエンス フィクションの世界では、デジタル ツインの概念は長い間定番であり、作家たちは、人間が操作...

...

メタバースの時代が来ます。準備はできていますか?

人類の進化の歴史を振り返ると、時代のあらゆる変化は不可逆的であることに気づくのは難しくありません。な...