13.01.2015 Views

Объектно-ориентированное программирование на С++ - eDrive

Объектно-ориентированное программирование на С++ - eDrive

Объектно-ориентированное программирование на С++ - eDrive

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

60<br />

извольное место функцией insert и удаление их оттуда функцией erase.<br />

Функция clear удаляет из контейнера все объекты, а функция size возвращает<br />

число объектов в контейнере. Функция empty сообщает, пуст ли контейнер,<br />

reserve резервирует память для будущих объектов, а capacity возвращает текущий<br />

объем выделенной памяти.<br />

#include <br />

using namespace std;<br />

void __fastcall TForm1::VectorClick (TObject *Sender) {<br />

vector n;<br />

vector::iterator j;<br />

vector::reverse_iterator rj;<br />

ListBox1–>Items–>Add (n.size ());<br />

ListBox1–>Items–>Add (n.capacity ()); // 0 0<br />

for (int i=0; iItems–>Add (n.size ());<br />

ListBox1–>Items–>Add (n.capacity ()); // 10 16<br />

for (j = n.begin (); j!=n.end (); ++j) ListBox2–>Items–>Add (*j); // 0,1,...,9<br />

for (rj = n.rbegin (); rj!=n.rend (); ++rj) ListBox3–>Items–>Add (*rj); // 9,8,...,0<br />

n.erase (n.begin ()+5, n.begin ()+7);<br />

// удаление 5-6-го<br />

n.insert (n.end ()–2, –1);<br />

// вставка –1 3-м с конца<br />

n.push_back (10);<br />

// вставка 10 в конец<br />

ListBox1–>Items–>Add (n.size ());<br />

ListBox1–>Items–>Add (n.capacity()); // 10 16<br />

for (j=n.begin (); j!=n.end (); ++j) ListBox4–>Items–>Add (*j);<br />

// 0,1,2,3,4,7,–1,8,9,10<br />

n.clear ();<br />

}<br />

Контейнер deque из одноименного файла заголовка, в отличие от vector,<br />

может заполняться и освобождаться от объектов с двух сторон.<br />

#include <br />

using namespace std;<br />

void __fastcall TForm1::DequeClick (TObject *Sender) {<br />

deque n;<br />

deque::iterator j;<br />

deque::reverse_iterator rj;<br />

for (int i=0; iAdd (*j); // 4,3,2,1,0,5,6,7,8,9

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!