PDA

View Full Version : ساختمان داده در بیسیک



sgb110
پنج شنبه 09 فروردین 1386, 01:10 صبح
سلام
کسی می تونه در مورد ساختمان داده تو ویژوال بیسیک من رو راهنمایی کنه؟
اصلا کتابی در این مورد پیدا می شه؟
اگه ممکنه در مورد شی collection هم یکم به من توضیح بدید

CodeMasterX
پنج شنبه 09 فروردین 1386, 08:48 صبح
منظورت دقیقا از ساختمان داده در وی بی چی هست ؟

اگر منظورت انواع داده هاست این لیست داده های ساپورت شده وی بی 6 هست:



String
Integer
Single
Double
Byte
Currency
Boolean
Date
Variant
Object

اگر چیزی رو از جا ننداخته باشم همین ها هستن.برای مدیریت داده ها و فایل ها هم اگر سوال داشته باشی باید بگی تا جدا دربارشون بحث بشه.لینک زیر رو ببین خالی از لطف نیست:

http://www.rentron.com/datatypes.htm

netspc
پنج شنبه 09 فروردین 1386, 14:49 عصر
اگر میخوای ساختمان داده ها کارکنی :
بهترین گزینه c++/c هست والا توی بیسیک بعلت نبود pointer مطمعناً در قضیه ای مثل linked list به مشکل برمیخوری الکی هم وقتت رو صرف بیسیک نکن.
ولی اگر بر فرض میخوای از یکی از الگوریتمهای سرچ و یا مرتب سازی رو توی بیسیک استفاده کنی میتونی از کتابهای مرجع ساختمان داده ها الگوریتم رو پیدا کنی و به کد بیسیک تبدیل کنی.
روز خوش

__H2__
پنج شنبه 09 فروردین 1386, 17:58 عصر
سلام


توی بیسیک بعلت نبود pointer مطمعناً در قضیه ای مثل linked list به مشکل برمیخوری الکی هم وقتت رو صرف بیسیک نکن.


چی میگه؟!؟!
به هیج وجه به مشکل بر نمی خورند. البته اگر از VB8 استفاده کنند خیلی بهتر است.

در مورد اشاره گر ها هم باید بگویم در VB وجود دارند ولی نه به واضحی C
مثلاَ برای همین لیست های پیوندی که گفتید، کافیست یک کلاسس تعریف شود که مثلاَ اشاره گری به والد خود داشته باشد یا مجموعه فرزندان خود را در یک Collection یا آرایه نگه دارد. در اصل وقتی از یک کلاسس New می سازید، اشاره گر آن شی به داخل متغییر ریخته میشود و اگر مثلاَ متغییر جدید را برابر با متغیر قبلی قرار دهید آنگاه هر دو متغییر به یک شی واحد اشاره خواهند کرد و شی در این بین به هیچ وجح کپی نمیشود! دوست عزیز!:لبخندساده: کاربر netspc آیا با این وجود باز در ارائه و طراحی لیست های پیوندی مشکلی پیش می آید؟

در کل اگر از کلاسس برای ذخیره سازی استفاده کنید، در زمان انتقالات صرفاَ اشاره گر 4 بایتی آن شی کپی میشود (مثلاَ با دستکاری یک Property در متغییری در بقیه متغییری ها نیز این تغییر قابل تشخیص خواهد بود)
و اگر از ساختار (دستور Type در VB6 و Structure در VB8) استفاده کنید، در زمان انتقالات متغییرها کل ساختار در مکان جدید کپی میشود.

و اما دوست عزیز آقای sgb110:
اگر واقعا منظورتان ساختمان داده ها باشد (مثل طراحی همان لیست های پیوندی که کاربر netspc فرمودند، باید حتما کتابی تهیه کنید، چون بحث وسیع تر از آن است که قابل توضیح در اینجا باشد، البته این کتاب ها اغلب به زبان C هستند ولی مهم نیست، اصل آشنایی با مفاهیم و الگوریتم است، بعد می توانید دستورات را با دستورات نظیر در VB تعویض کنید.

اگر هم مورد استفاده تان را بیان کنید، شاید بتوان کمک بیشتری کرد، ولی همینطوری بحث بسیار وسیع است.

در مورد شی یا کلاسس Collection هم که چه میخواهید؟ از آن New بسازید، آنگاه میتوانید اشیاء دیگر را با یک کلید منحصر بفرد واردش کنید (شبیه یک دیکشنری) هر وقت کلید را دهید شی تان را پس میگیرید! و نیز با دادن کلید میتوانید شی آیتم را کلا حذف کنید.
باز هم تاکید میکنم که اگر هر گره را با کلاسس پیاده سازی کنید به صورت خودکار اشاره گر آن در Collection ذخیره میشود.