ساختار vector در زبان C++
در زبان برنامه نویسی C++ ، وکتور (vector) ساختاری است که به شما اجازه می دهد چندین مقدار یا ارزش را تحت یک نام ذخیره و استفاده کنید؛ بر خلاف متغیر ها که تنها اجازه ذخیره یک مقدار تحت یک نام را می دهند. وکتور را میتوانید مانند آرایه تصور کنید که دارای خانه هایی مشخص و پشت سر هم است و در هر کدام از انها می تواند یک مقدار ذخیره شود و برای دسترسی به این خانه ها از ایندکس آنها که از صفر شروع می شود، استفاده می شود.
تعریف یک وکتور :
پیش از هر کاری، برای استفاده از این ساختار باید کتابخانه vector را به برنامه خود اضافه کنید. حالت کلی تعریف وکتور به صورت زیر است :
// add vector lib to program
#include
// declaration
vector < TYPE > NAME;
خط بالا یک وکتور را به کلی ترین حالت ممکن تعریف می کند. پس تعریف به این صورت است که پس از کلمه vector در بین دو علامت < > ، نوع داده ای وکتور اعلان می شود و پس از آن نام وکتور مشخص می شود.
برای مثال کد زیر را در نظر بگیرید که وکتوری به نام numbers از نوع int یا صحیح تعریف می کند که در طول پست برای ذکر مثال از آن استفاده می کنیم.
vector < int > numbers;
مشخص کردن تعداد خانه ها یا عناصر وکتور در هنگام تعریف :
vector < TYPE > NAME (SIZE);
در این صورت وکتوری با تعداد عناصر یا خانه های مشخص شده به صورت SIZE ایجاد می شود و به عبارت دیگر اندازه وکتور به تعداد مشخص شده محدود می شود.
تعیین مقدار اولیه یا پیشفرض عناصر وکتور در هنگام تعریف :
vector < TYPE > NAME (SIZE , Default_Value);
در این صورت وکتوری با اندازه مشخص شده ایجاد می شود که عناصر آن همگی به صورت پیشفرض دارای مقدار تعریف شده Default_Value هستند.
دسترسی و مقدار دهی به عناصر وکتور :
برای دسترسی به عناصر وکتور از ایندکس یا شماره خانه هر عنصر استفاده می کنیم. برای مثال برای وکتور numbers مقدار دهی یا خواندن سه عنصر اول به صورت زیر خواهد بود.
numbers[0] = 100;
numbers[1] = 200;
numbers[2] = 300;
..........
cout << numbers[0];
cout << numbers[1];
cout << numbers[2];
مقدار دهی با استفاده از تابع push_back :
تابع push_back مقدار ارسال شده را در اولین خانه در دسترس (خالی) وکتور قرار می دهد. بنابراین اگر برای اولین بار از این تابع استفاده کنیم مقدار ارسال شده در خانه اول ( ایندکس 0 ) وکتور قرار می گیرد. (چون وکتور تا به حال مقدار دهی نشده باشد) و برای بار های بعد مقدار ارسال شده در خانه های بعدی قرار خواهند گرفت. فرض کنید خط زیر را برای وکتور numbers به کار ببریم :
numbers.push_back (400);
در این صورت مقدار 400 در خانه چهارم این وکتور قرار می گیرد چون سه خانه اول قبلا (در کد های بالا) اشغال شده بوده اند و خانه چهارم اولین خانه ی در دسترس برای ذخیره این مقدار است.
حذف اخرین عنصر وکتور با استفاده از تابع pop_back :
تابع pop_back آخرین خانه اشغال شده وکتور را خدف (خالی) می کند. ولی دقت کنید که مقدار این خانه را بر نمی گرداند. برای مثال کد زیر، مقدار 400 را از خانه چهارم وکتور numbers حذف می کند.
numbers.pop_back();
+ نوشته شده در پنجشنبه دهم اسفند ۱۳۹۱ ساعت 23:23 توسط MEC
|
GENERAL INFORMATION