データ構造とアルゴリズム(C言語):線形リストの実装と応用
線形リスト(linear list)は、同じ特性を持つn個のデータ要素の有限シーケンスです。線形リストは実際のアプリケーションで広く使用されているデータ構造であり、一般的な線形リストには順序リスト、連結リスト、スタック、キュー、文字列などがあります。
線形リストは論理的には線形構造であり、連続した直線状の構造を持ちます。しかし、物理的な構造としては必ずしも ...
7月26日 17:02 投稿
C言語で実装する動的配列(ベクター)
C言語で実装する動的配列(ベクター)
C言語におけるデータ構造の中でも、特に柔軟性の高い「動的配列」について解説します。動的配列は、プログラムの実行中に要素数が増減する可能性のあるコレクションを扱う際に非常に便利です。この記事では、C言語で動的配列、いわゆる「順序リスト」をゼロから実装する方法を詳しく見ていきます。
動的配列の基本概念
動的配 ...
6月8日 20:18 投稿
C++のvectorコンテナの内部構造と実用的な使い方
std::vectorはC++標準ライブラリで提供される動的配列で、メモリ上に要素を連続的に配置します。固定長配列と異なり、実行時にサイズを柔軟に変更できるのが特徴です。
1. vectorのメモリ管理
vectorは2つの重要な状態情報を管理します:容量(capacity)と現在の要素数(size)。
容量:確保済みのメモリ領域の大きさ
サイズ:実際に格納されている要素数
要素追加 ...
5月24日 23:56 投稿