【戦略シミュ】ユニット管理方法でのリスト構造について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
yskey

【戦略シミュ】ユニット管理方法でのリスト構造について

#1

投稿記事 by yskey » 15年前

どうもお世話になっています。yskeyです。
ただいまDxlibで戦略シミュを製作中なのですが、前回質問したとき、
ユニット(兵士、城、、、)の管理にリスト構造体を使用すればよいと聞きました、、、
そこでなんですが、リスト構造を作ったとしてどのように特定のデータを得ることができるのでしょうか?

構造体の中にint IDという変数を用意して最初から順に検索していき、目的のIDがあるところのデータを習得、、、

という感じですか?しかし、データが1000個ぐらいにまで膨大になって頭から検索は有効なんでしょうか?

そもそもリスト構造がまだまだ熟知できてないのでワケノワカランことを言っていたらご指摘ください・・・

softya

Re:【戦略シミュ】ユニット管理方法でのリスト構造について

#2

投稿記事 by softya » 15年前

1000個ぐらいで、数値IDで検索するなら気にするほどの時間は掛かりません。
リスト構造を数値ID順に並べておけば、バイナリサーチも使えます。その他にもハッシュテーブルで検索とか、検索だけのリストポインタを持つとか、幾らでも高速化の手はありますから今は気にしなくて良いと思いますよ。

たかぎ

Re:【戦略シミュ】ユニット管理方法でのリスト構造について

#3

投稿記事 by たかぎ » 15年前

そもそもリスト構造にする必要なんかないのでは?
素直にstd::vectorを使っておけばよいと思います。

yskey

Re:【戦略シミュ】ユニット管理方法でのリスト構造について

#4

投稿記事 by yskey » 15年前

>>softayさん
>>たかぎさん
ありがとうございます。
C++は最近手を出したばかりなので知りませんでした。
C++って結構便利そうですね・・・

yskey

Re:【戦略シミュ】ユニット管理方法でのリスト構造について

#5

投稿記事 by yskey » 15年前

ところでなんですが
DxLibを使う時、
<stdio.h>や<math.h>をインクルードする必要はなぜないんですか?
<DxLib.h>内ですべてインクルードされているのでしょうか?

vectorコンテナを使うとき<vector>はインクルードする必要はあるみたいなのですが・・・
C++系のインクルードはされてないって事ですか?

softya

Re:【戦略シミュ】ユニット管理方法でのリスト構造について

#6

投稿記事 by softya » 15年前

>DxLibを使う時、<stdio.h>や<math.h>をインクルードする必要はなぜないんですか?
><DxLib.h>内ですべてインクルードされているのでしょうか?
DxLibが使っているからインクルードされているんでしょうね。
何でも無闇にインクルードするとコンパイルが遅くなりますから。

>vectorコンテナを使うとき<vector>はインクルードする必要はあるみたいなのですが・・・
>C++系のインクルードはされてないって事ですか?

DXライブラリは、C++系用のライブラリでは無いですからね。
そもそも関数で提供されていてクラスじゃないですから。

>そもそもリスト構造にする必要なんかないのでは?
>素直にstd::vectorを使っておけばよいと思います。

たかぎさんのご意見は正しと思います。
下手な検索をするよりvectorを添え字でアクセスするほうが早いって事ですよね。
ただ、何事も経験ですのでリスト構造ぐらい知っていたほうが良いんじゃないかなと私は思うわけです。
速度を気にしているみたいですので、使ってみて比べてもらえるのが一番ですが。
最終的に使う方の判断にお任せします。

yskey

Re:【戦略シミュ】ユニット管理方法でのリスト構造について

#7

投稿記事 by yskey » 15年前

>>softyaさん
どうもご返信ありがとうございます。
リスト構造も面白い物なのでやってみようと思います。
ありがとうございました。

閉鎖

“C言語何でも質問掲示板” へ戻る