このディレクトリには、Cb言語の様々な機能を示すサンプルプログラムが含まれています。 サンプルは目的別にフォルダ分けされています。
初心者向けの基本的なプログラム例
fibonacci.cb- フィボナッチ数列の計算fizzbuzz.cb- FizzBuzz問題array.cb- 配列の基本操作strlen.cb- 文字列長の計算
async/await を使った非同期プログラミング
async_basic.cb- async/awaitの基本的な使い方- 順次実行(await使用)
- 並行実行(awaitなし)
- 混合パターン
async_cooperative.cb- 協調的マルチタスクの動作例- 複数ワーカーの協調動作
- 長短タスクの混在
- 逐次 vs 並行の比較
async_interface_impl_demo.cb- asyncとインターフェースの組み合わせ
標準ライブラリのコンテナとユーティリティの使用例
vector_demo.cb- Vectorコンテナの使用例queue_demo.cb- Queueコンテナの使用例time_demo.cb- Time モジュールの使用例(時刻取得、計測、sleep)string_demo.cb- String モジュールの使用例(文字列操作全般)
有名なアルゴリズムの実装例
dijkstra_struct.cb- ダイクストラ法による最短経路探索knapsack_dp.cb- ナップザック問題の動的計画法による解法tsp_bitdp.cb- 巡回セールスマン問題のビットDP解法
データ構造の実装例
linked_list_stack.cb- 連結リストとスタックの実装string_wrapper.cb- 文字列ラッパー構造体
高度な言語機能のデモ
function_pointer_demo.cb- 関数ポインタの使用例typedef_comprehensive_demo.cb- typedef の包括的な使用例forward_declaration_demo.cb- 前方宣言のデモforward_value_member_demo.cb- 前方値メンバーのデモ
# 基本的な実行
./main sample/basic/fibonacci.cb
# async/awaitサンプルの実行(時間計測付き)
./main sample/async/async_basic.cb
./main sample/async/async_cooperative.cb
# アルゴリズムサンプル
./main sample/algorithm/dijkstra_struct.cb
# 標準ライブラリサンプル
./main sample/stdlib/vector_demo.cbbasic/fibonacci.cb- 基本的な関数と再帰basic/fizzbuzz.cb- 条件分岐とループbasic/array.cb- 配列操作stdlib/vector_demo.cb- 動的配列の使用
data_structures/linked_list_stack.cb- カスタムデータ構造algorithm/knapsack_dp.cb- 動的計画法algorithm/dijkstra_struct.cb- グラフアルゴリズム
advanced/typedef_comprehensive_demo.cb- 型エイリアスadvanced/function_pointer_demo.cb- 関数ポインタasync/async_basic.cb- 非同期処理の基礎async/async_cooperative.cb- 協調的マルチタスク
basic/fizzbuzz.cb- if/else, for, whilebasic/fibonacci.cb- 再帰
basic/array.cb- 配列stdlib/vector_demo.cb- 動的配列stdlib/queue_demo.cb- キューdata_structures/linked_list_stack.cb- 連結リスト
algorithm/knapsack_dp.cb- 動的計画法algorithm/dijkstra_struct.cb- グラフ探索algorithm/tsp_bitdp.cb- ビットDP
async/async_basic.cb- async/awaitの基本async/async_cooperative.cb- マルチタスク
advanced/typedef_comprehensive_demo.cb- typedefadvanced/forward_declaration_demo.cb- 前方宣言
- サンプル (sample/): 機能の使用例を示す教育的なコード
- テスト (tests/): 機能の正確性を検証する自動テスト
サンプルは学習目的で設計されており、実際のユースケースを示しています。