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

ブログ    
ブログ    

推薦する

最新の米国の世論調査によると、人工知能技術に対する国民の信頼は昨年に比べて低下している。

ChatGPTなどのツールのリリース後、生成型人工知能(GenAI)が人工知能技術における注目の的...

OpenAI: 大規模ニューラルネットワークをトレーニングするための 4 つの基本手法

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

53ページのPDFが広く出回り、中核社員が次々と退職。OpenAIにはどんな秘密があるのか​​?

「OpenAIが2027年にAGIを実現する」という53ページのPDFがインターネット上で広く流通...

キングソフトAIラボが最初の実装計画を発表、AIの最も難しい部分を選択した

[[255298]] 「2014年に私は、30年前に設立されたKingsoft WPSは雷軍によって...

人工知能の世界的競争が激化する中、主導権を握るのは中国か米国か?

世界的な技術競争において、人工知能は他の追随を許さない世界的な技術革新の新たな局面において、人工知能...

清華大学が転移学習アルゴリズムライブラリをオープンソース化:PyTorch実装に基づき、既存のアルゴリズムの簡単な呼び出しをサポート

最近、清華大学ビッグデータ研究センターの機械学習研究部門は、効率的で簡潔な転移学習アルゴリズムライブ...

...

ハッカーが、さまざまなネットワーク攻撃コードを自動生成できる悪質なAIツールFraudGPTを公開

7月31日、「ハッカーがAIを使って犯罪ツールを作る」という研究者の懸念が徐々に現実のものとなりつつ...

スーパー暗号解読:自動運転はこうして実現される

[[336217]]多くの新製品と同様に、自動運転に対する人々の態度は、過度の信頼から過少な信頼まで...

テンセントのロボットファミリーに新しいメンバーが加わりました。「新年の挨拶をして紅包をお願いする」ことができるロボット犬を見たことがありますか?

テンセントは3月2日、自社で完全に開発したソフトウェアとハ​​ードウェアを搭載した初のマルチモーダル...

人工知能時代の罠を回避し、実装を実現する方法

つい最近、カリフォルニア大学バークレー校で活躍している、インターネットで有名な無人食品配達車「Kiw...

2Dが3Dになり、視野角を自由に変更でき、高精細な立体感が完璧に復元されます

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

セキュリティ企業:ホワイトハットの60%以上が生成AIに興味を持っており、脆弱性を見つける最大の動機は金儲けである

セキュリティ企業であり脆弱性報奨金プラットフォームでもあるHackerOneは10月30日、先週20...

...