PDA

View Full Version : میشه یکی از عناصر آرایه را حذف کرد؟



hosseinam1370
سه شنبه 07 مرداد 1393, 14:51 عصر
سلام
دوستان مثلا من اگه بیام این آرایه رو تعریف کنم :
a[20]
و حالا بیام به هر 20 تا آرایه یه مقدار بدم ، و حالا اگه بخام مثلا آرایه :
a[15]
را حذف کنم ، باید چیکار کنم؟
مثلا حالا بشه :
a[19]

تا آرایه.


با تشکر

amirtork
سه شنبه 07 مرداد 1393, 15:52 عصر
سلام،
برای این کار بهتره که از ساختمان داده های پیشرفته تر استفاده کنید، برای مثال میتونید از std:vector برای این کار استفاده کنید یا یک لیست پیوندی برای خودتون تعریف کنید با عملگر ها و توابع مورد نیاز.
اما اگر حتما نیاز دارید که از آرایه ها استفاده کنید. باید تمامی خانه های بعد از خونه ی مورد نظر رو یک خونه به عقب شیفت بدید، در این صورت خونه ی مورد نظر پاک میشه، و انتهای آرایه هم بی استفاده میمونه، برای جلوگیری از بروز خطاهایی مثل Runtime error هم بهتره خونه ی پایانی رو برابر Null یا "\0" قرار بدید.
پیشنهاد من بیشتر استفاده از std:vector هست. برای اطلاعات بیشتر در این مورد میتونید به این لینک (http://www.cplusplus.com/reference/vector/vector/) مراجعه کنید.

sa1378
پنج شنبه 09 مرداد 1393, 12:50 عصر
اگه همین آرایه رو میخواین باید شیفت بدین به پایین
یعنی:
a[15]=a[16];
a[16]=a[17];
و...

با یه حلقه for خیلی راحته


ولی با stl کد نویسیش راحت تره

hosseinam1370
پنج شنبه 09 مرداد 1393, 15:59 عصر
stl چیه دوسته عزیز؟

با تشکر

کامبیز اسدزاده
پنج شنبه 09 مرداد 1393, 17:45 عصر
stl چیه دوسته عزیز؟

با تشکر

مخفف : Standard Template Library یک کتابخانه استاندارد برای C++ هستش.

sa1378
جمعه 10 مرداد 1393, 11:02 صبح
توی stl توابعی مثل vector هست کعه این کارو راحت میکنه.یه آموزش تقریبا کامل ازش هم اینجا هست:
http://open-mind.ir/?p=549