vector چیست ؟ - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

vector چیست ؟

+5 امتیاز

سلام ..اگه میشه vector رو واسم کلا توضیح بدین ..ممنون میشم

سوال شده اسفند 27, 1392  بوسیله ی programmer (امتیاز 139)   9 19 32
دوباره تگ گذاری شد فروردین 20, 1393 بوسیله ی BlueBlade

2 پاسخ

+8 امتیاز
 
بهترین پاسخ

-وکتور یک آرایه ی پویاست ،یعنی یک سری از سختی های کار با ارایه و مشکلاتی رو که به وجود میآورد سعی شده درست بشه.

 

-شاید اولین مشکل آرایه ها این هست که سایزشون ثابته و نمیشه تغییرش داد و همیشه مجبور هستیم موقع تعریف ارایه حداکثر مقدار مورد نیاز رو در نظر بگیریم که میتونه حافظه زیادی بگیره ولی در وکتور میشه هر وقتی که نیاز بود حافظه گرفت و بهش اضافه کرد که اگه اشتباه نکنم وکتور هم new میکنه ولی با شکلی راحت تر و بهتر.

 

-مشکلات دیگه ای  که در آرایه ها پیش میداد کار کردن باهاشون هست، وقتی که میخوایم یک عنصر از آرایه رو حذف کنیم مجبوریم تمام عناصر بعدی رو یکی یکی شیفت بدیم که ممکنه خودش مشکلاتی رو به همراه داشته باشه

تعریف وکتور :

vector <int> v ;

که میتونه از انواع دیگه ی متغیر هم باشه.

اضافه کردن عنصر به آرایه :

v.push_back(2);

رزرو وکتور که ضروری نیست ولی باعث افزایش سرعت میشه :

v.reserve(100);

سایز :

v.size();

و توابعی برای اضافه کردن عناصر در هر جایی از وکتور و حذف کردن و خیلی توابع کاربردی دیگه که توضیح کاملش هست توی لینک زیر

http://www.cplusplus.com/reference/vector/vector/?kw=vector

 

پاسخ داده شده اسفند 27, 1392 بوسیله ی Elyas74 (امتیاز 1,144)   6 14 27
انتخاب شد فروردین 22, 1393 بوسیله ی programmer
+4 امتیاز
یه مطلب در مورد حافظه مصرفی vector
اینکه vector از o(n) حافظه مصرف میکنه
اگر نحوه کار vector را برسی کنید متوجه میشید که مقدار دقیق حافظه اشغال شده حداکثر دو برابر میزان
حافظه ای است که توسط ارایه ای به طول n اشغال میشود.
پاسخ داده شده فروردین 14, 1393 بوسیله ی Azar (امتیاز 628)   29 43 61
...