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

ブログ    

推薦する

ディープラーニングパーセプトロンの原理の詳しい説明

前回の機械学習のトピックは終了しました。機械学習の分野でよく使用されるアルゴリズム、モデル、その原理...

...

ByteDance の新しい具現化された知能の成果: 大規模なビデオデータでトレーニングされた GR-1 は、複雑なタスクを簡単に処理します

最近、GPT モデルは NLP の分野で大きな成功を収めています。 GPT モデルは、まず大規模なデ...

Baidu AI開発者会議が進行中、重要なニュースが次々と発表されている

百度AI開発者会議は予定通り7月4日から5日まで北京国家会議センターで開催されました。百度の創業者、...

...

どうやってパートナーを見つけたのですか?日本のネットユーザー:国はAIを使って配信している

星野源のような容姿の人を満足させることは、実はとても簡単です。ついに国家がオブジェクトを割り当てる時...

...

...

説明可能な不正防止AIについてお話しましょう

人工知能は近年急速に発展し、さまざまな業界の無数のユースケースで強力なイノベーションツールとして広く...

商用 AI をマスターする: RAG と CRAG を使用したエンタープライズ レベルの AI プラットフォームの構築

当社のガイドで、ビジネスに AI の力を活用する方法を学びましょう。 RAG と CRAG の統合、...

...

YouTube、有名歌手の真似をしたり、テキストやハミングで曲を作曲できるAIツールをリリース

YouTube は 11 月 16 日に、ユーザーがテキストを入力したりメロディーをハミングしたりす...

張北院士:人工知能の一般理論が形成されつつあり、AI革命の発展は止められない

7月6日に開催されたAscend人工知能産業サミットフォーラム2023において、中国科学院院士、清華...

NeurIPS 2023 レビュー: ビッグモデルが最も注目されており、清華大学 ToT 思考ツリーがリストに載る

最近、米国のトップ 10 テクノロジー ブログの 1 つである Latent Space が、終了し...

ロボットシェフはトマト入りスクランブルエッグ9品を試食した後、味覚マップを描いた。

5月7日のZhidongxiによると、英国ケンブリッジ大学の研究者らは最近、シェフの調理過程を模倣...