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

ブログ    
ブログ    
ブログ    
ブログ    

推薦する

7つの変革的技術トレンド:第4次産業革命をリードする

テクノロジーは常に進化し、私たちの未来を形作っています。第四次産業革命は、さまざまな産業に革命をもた...

...

マイクロソフトは、兆パラメータのAIモデルのトレーニングに必要なGPUを4,000から800に削減しました。

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...

...

...

イノベーションに関する対話 - 51CTO 初の開発者コンテストが始まりました!

/* 世界を変えるために生きるここでは、あらゆる作品が市場に参入するための種となる可能性があります...

将来、ロボットは手術を支援し、反復作業をより効率的に実行できるようになるかもしれない。

人々は人工知能の急速な発展と、さまざまな業界でのその応用事例を目撃してきました。ヘルスケアは、AI、...

数独問題を解くには人工知能や量子コンピューティングを使うべきでしょうか?

楽しいボードゲームとして誕生してから 100 年経った今、数独はどのようにして計算研究の焦点となった...

...

AIがデータ侵害やデータ損失の防止にどのように役立つか

サイバーセキュリティは長期にわたる戦いです。 日々新たな脅威が出現し、最高情報セキュリティ責任者 (...

顔認識が再び禁止される:プライバシーと偏見をめぐる論争は続く 米国の別の州が顔認識ソフトウェアを禁止

海外メディアの報道によると、ニューヨーク州議会は、学校での顔認証やその他の生体認証技術の使用を202...

AI面接ロボットのバックエンドアーキテクチャの実践

01 はじめにAI面接ロボットは、Lingxiインテリジェント音声セマンティックプラットフォームの人...

2020年の世界産業用ロボット業界の現在の市場状況と競争環境の分析

2020年の世界産業用ロボット産業の現状と競争環境の分析:アジア太平洋地域が世界最大の市場に1. 世...

ジェフ・ディーンの大規模マルチタスク学習SOTAは苦情を受け、再現には6万ドルかかる

2021 年 10 月、Jeff Dean が新しい機械学習アーキテクチャである Pathways ...

メタバースの開発にはどのような重要な技術が必要ですか?

メタバースは、信頼できる資産価値とアイデンティティ認証を備えた仮想アクティビティを実行するためのプラ...