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# データ構造とアルゴリズムのシーケンス テーブルの簡単な分析

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

推薦する

...

今後 10 年間で最も「収益性の高い」 5 つの業界。誰がやっても儲かるでしょう。

VRバーチャルリアリティは未来のトレンドであり、大きな発展の見込みがあります。現在、大手企業がこの...

3Wイノベーションフェスティバル:先進的な起業家のアイデアが古都西安に流入

最近、西安で3Wイノベーションフェスティバルが開催されました。西安起業・イノベーション週間の代表的な...

人工知能は核爆弾と同じくらい人類にとって脅威なのでしょうか? AI脅威理論の謎を解く

新たに世界一の富豪となり、テスラのCEO、そしてテクノロジー界の大物となったマスク氏は、ロボットが近...

わかった!ニッチだけど役に立つAIテクニック6選

ソフトウェアの熟練度は「ツール」の範疇に入るため、主にポートフォリオで対外的に証明するデザイナーにと...

DALL·E 3=旅の途中+PS? OpenAIは、生画像の後に改良できる「シード」機能をひっそりとリリースした。

今日、DALL·E 3 のチュートリアルがオンラインで話題となり、1 日も経たないうちに 100 万...

訓練されたディープラーニングモデルは、もともとこのように展開されていました

データの収集、データのクリーンアップ、環境の構築、モデルのトレーニング、モデルの評価とテストに一生懸...

...

超人工知能を制御できるアルゴリズムはあるのでしょうか?

スーパー人工知能の出現は、多くの作業を非常に効率的に完了できることを意味するため、私たちはその出現を...

Google、ファイルサイズを35%削減できる新しいJPEGアルゴリズムをオープンソース化

海外メディアの報道によると、Googleはファイルサイズを約35%削減、あるいはファイルサイズを変え...

...

...

...