C# のデータ構造とアルゴリズムにおける線形リストの構築クラスの簡単な分析

C# のデータ構造とアルゴリズムにおける線形リストの構築クラスの簡単な分析

C# のデータ構造とアルゴリズムで線形リストを構築するためのクラスは何ですか? C# のデータ構造とアルゴリズムで線形リストを構築するためのクラスをどのように使用すればよいですか?

C# のデータ構造とアルゴリズムで線形テーブルを構築するクラスのコード使用法を見てみましょう。

  1. 公共 インターフェースIListDS﹤T﹥
  2. {
  3.     を取得します。
  4.      voidクリア();
  5.     ブール型IsEmpty();
  6.     ブールIsFull();
  7.      void Append(T 項目);
  8.      void挿入(T 項目、 int i);
  9. T 削除( int i);
  10. T GetElem( int i);
  11.     文字列Locate(T 値);
  12.  
  13. }
  14.  
  15. 公共 クラスTList﹤T﹥ : IListDS﹤T﹥
  16. {
  17.     プライベートT[]_list;
  18.     プライベート 整数_len;
  19.     プライベート 整数_lastOne;
  20.  
  21.     パブリックT this [ int長さ]
  22. {
  23.         取得{ _list[長さ]を返す;}
  24.          _list[長さ] = 値を設定します
  25. }
  26.  
  27.     公共  intリスト
  28. {
  29.         取得{ _lastOneを返します; }
  30. }
  31.  
  32.     公共  int最大サイズ
  33. {
  34.         取得{ _lenを返す; }
  35.         設定{ _len = 値; }
  36. }
  37.  
  38.     パブリックTList( intサイズ)
  39. {
  40. _list =新しいT[サイズ];
  41. _len = サイズ;
  42. _lastOne = -1;
  43. }
  44.  
  45.     公共  int長さを取得する()
  46. {
  47.          _lastOne + 1を返します
  48. }
  49.  
  50.     公共 ブール型IsEmpty()
  51. {
  52.          (_lastOne == -1)の場合
  53. {戻る 真実; }
  54.         それ以外 
  55. {戻る 間違い; }
  56. }
  57.  
  58.     公共  voidクリア()
  59. {
  60. _lastOne = -1;
  61. }
  62.  
  63.     公共 ブールIsFull()
  64. {
  65.          (_lastOne == _len - 1)の場合
  66. {戻る 真実; }
  67.         それ以外 
  68. {戻る 間違い; }
  69. }
  70.  
  71.     公共  void追加(T アイテム)
  72. {
  73.          (IsFull()の場合
  74. {
  75.             投げる 新しいArgumentOutOfRangeException( "リストがいっぱいです!" );
  76. }
  77. _list[+_lastOne] = 項目;
  78. }
  79.  
  80.     公共  void挿入(T 項目、 int i)
  81. {
  82.          (IsFull()の場合
  83. {
  84.             投げる 新しいArgumentOutOfRangeException( "リストがいっぱいです!" );
  85. }
  86.          (i < 0 || i > _len)の場合
  87. {
  88.             投げる 新しいArgumentOutOfRangeException( "位置エラー!" );
  89. }
  90.  
  91.          (i == _lastOne)の場合
  92. {
  93. _list[+_lastOne] = 項目;
  94. }
  95.         それ以外 
  96. {
  97.              ( int j = i; j < _len - 1; j++)の場合
  98. {
  99. _list[j + 1] = _list[j];
  100. }
  101. _list[i] = 項目;
  102. }
  103. +++ 最後;
  104. }
  105.  
  106.     パブリックT 削除( int i)
  107. {
  108. T t =デフォルト(T);
  109.         空の場合()
  110. {
  111.             投げる 新しいArgumentNullException( "T" , "リストが空です!" );
  112. }
  113.          (i < 0 || i > _lastOne)の場合
  114. {
  115.             投げる 新しいArgumentOutOfRangeException( "T" , "位置がエラーです!" );
  116. }
  117.          (i == _lastOne)の場合
  118. {
  119. t = _list[_lastOne - 1];
  120. }
  121.         それ以外 
  122. {
  123. t = _list[_lastOne];
  124.              ( int j = i; j < _lastOne; j++)の場合
  125. {
  126. _list[j] = _list[j + 1];
  127. }
  128. }
  129. --_lastOne;
  130.          tを返します
  131. }
  132.  
  133.     パブリックT GetElem( int i)
  134. {
  135.         空の場合()
  136. {
  137.             投げる 新しいArgumentNullException( "T" , "リストが空です!" );
  138. }
  139.          (i < 0 || i > _len)の場合
  140. {
  141.             投げる 新しいArgumentOutOfRangeException( "位置がエラーです!" );
  142. }
  143.  
  144.          _list[i]を返します
  145. }
  146.  
  147.     公共 文字列Locate(T値)
  148. {
  149.         空の場合()
  150. {
  151.             投げる 新しいArgumentNullException( "T" , "リストが空です!" );
  152. }
  153.         整数i = 0;
  154.          (i = 0; i < _len; i++)の場合
  155. {
  156.              if (value.Equals(_list[i]))
  157. {
  158.                 壊す;
  159. }
  160. }
  161.          (i >= _len)の場合
  162. {
  163.             戻る  "-1" ;
  164. }
  165.          i.ToString()を返します
  166. }
  167. }

C# データ構造とアルゴリズムで線形リストを構築するクラスで線形リストを呼び出す操作:

  1. TList﹤文字列﹥ TL =新しいTList﹤文字列﹥(5) { };
  2.  
  3. TL.Append( "A" );
  4.  
  5. TL.Append( "B" );

間違いがあれば議論して訂正してください。

これで、C# データ構造とアルゴリズムで線形リストを構築するクラスの紹介は終わりです。C# データ構造とアルゴリズムで線形リストを構築するクラスの学習に役立つことを願っています。

<<:  C# のデータ構造とアルゴリズムにおけるキューの簡単な分析

>>:  C# データ構造とアルゴリズムのシーケンス テーブルの簡単な分析

ブログ    
ブログ    

推薦する

機械学習と AI のトレンド: 何が期待できるか?

ビデオゲーム、医療におけるモノのインターネット、スマートシティなどでは、すでに仮想現実がさらに多く見...

このAI職種の平均学歴は中学卒程度であり、最も絶望的な職業として認識されている

[[437446]] 2020年2月、「人工知能トレーナー」は正式に新しい職業となり、国家職業分類カ...

マイクロソフトは産業用メタバースプロジェクトProject Airsimを中止し、人工知能戦略をOpenAIに転換

10月25日、外国メディアは事情に詳しい関係者の話として、月曜日に「インダストリアル・メタバース」プ...

ロボットが自閉症児の社会スキルの発達を助ける

自閉症は、社会的、感情的、コミュニケーション的、行動的な課題を伴う発達障害です。自閉症と診断された子...

...

現実は素晴らしい、Googleとコーネル大学が提案した実画像補完技術RealFill

休暇で旅行するときは、写真を撮ることが必須です。しかし、景勝地で撮影した写真の多くは、背景に何かが写...

「突破」に注目! 2021年6月のドローン業界の重要な動向の概要

ドローンは無人航空機であり、センサー、インテリジェント制御、情報処理、電力システムなどの技術を統合し...

弱電産業におけるAIの応用動向

近年、セキュリティ業界では、デジタル化された人工知能の学習および認識技術の概念がかなり普及しています...

ディープインテリジェンスとは: 2021 年のディープインテリジェンスのトレンドは何ですか?

人工知能の開発は60年以上前に遡りますが、技術的な理由により、ディープラーニングの出現により再び人工...

アルゴリズム技術の向上とアルゴリズムの適用の標準化(デジタル時代の文化生活)

[[399442]]アルゴリズム技術を改善し、アルゴリズムの適用を標準化することによってのみ、技術...

合理性への回帰とアプリケーションとの統合 - AI時代のモバイル技術革新カンファレンス

人工知能の出現により、ますます多くの企業がそれを業務や生産に応用しています。新しいモバイル開発技術が...

AIはリモートワークがもたらす企業文化の課題を解決するのに役立つ

2019年、MIT Sloan Management ReviewとGlassdoorが共同でCul...

画像セグメンテーションのためのディープラーニング: ネットワークアーキテクチャ設計の概要

この論文では、画像セマンティックセグメンテーションに CNN を使用する際のネットワーク構造の革新に...