Void main(). vector<int>::iterator t;
{
int mas[] = {1,2,3,4,5,6,7,8,9};
int i;
vector <int> vec;
vector<int>::iterator t;
deque<int>::iterator d;
deque <int> dec;
list<int>::iterator l;
list<int> list;
// ------------ vector ----------------------
cout << endl <<" vector " <<endl;
for (i = 0; i < 9; i++)vec.push_back(mas[i]);
for (i = 0,t = vec.begin();t != vec.end();t++,i++)
cout <<" "<<*t <<"/"<< vec[i];
cout <<"\n";
t = vec.begin();
for (i = 0;i < vec.size();i++)
cout <<" "<<vec[i]<<"/" << *(t++);
t = (vec.begin() + 1);
*t = 100;
cout << endl << " "<<vec[0]<<" " << *t ;
vector<int>::iterator tt;
tt = t;
tt= t + 2;
cout <<"\n "<<*(tt)<<" "<<"\n";
// ------------ deque ----------------------
cout << endl <<" deque " <<endl;
for (i = 0; i < 9; i++)
dec.push_back(mas[i]);
for (i = 0,d = dec.begin();d != dec.end();d++,i++)
cout <<" "<<dec[i]<<" "<<*d;
// ------------ list -----------------------
cout << endl <<" list " <<endl;
for (i = 0; i < 9; i++)
list.push_back(mas[i]);
for (l = list.begin();l != list.end();l++)
cout <<" "<<*l ;
}
Результат роботи програми:
vector
1/1 2/2 3/3 4/4 5/5 6/6 7/7 8/8 9/9
1/1 2/2 3/3 4/4 5/5 6/6 7/7 8/8 9/9
1 100
deque
1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9
list
1 2 3 4 5 6 7 8 9
10.2.6 Черги з пріоритетами (priority_queue)
У черзі з пріоритетами кожному елементу відповідає пріоритет, що визначає порядок вибірки з черги. За умовчанням він визначається за допомогою операції <; таким чином, з черги кожного разу вибирається максимальний елемент.
Для реалізації черги з пріоритетами підходить контейнер, що допускає довільний доступ до елементів, тобто, наприклад, вектор або двостороння черга. Тип контейнера передається другим параметром шаблону (перший, як завжди, тип елементів). Третім параметром вказується функція або функціональний об'єкт, за допомогою яких виконується визначення пріоритету:
template <class Т, class Container = vector<T>,
class Compare =less<typename Container::value_type> >
Дата добавления: 2014-12-26; просмотров: 779;