Standard Template Library list на C++

list — контейнер, позволяющий выполнять операции вставки и удаления данныхв любом месте последовательности с постоянным временем, а также осуществлять итерации в обоих направлениях.

#include "stdafx.h"
#include <list>
#include <iostream>
using namespace std;

bool del_number_if (const int& value) { return (value>90); }

int _tmain(int argc, _TCHAR* argv[])
{
std::list<int>::iterator iter;
int myints[] = {14,27,93,38,15,32,94,57,49,73};
list<int> my_list(myints,myints+10);
list<int> my_list_new1;
my_list_new1.assign (myints,myints+3);
list<int> my_list_new2(7,500);
my_list_new2.resize(4);
my_list_new1.swap(my_list_new2);
for (std::list<int>::iterator it=my_list_new1.begin(); it!=my_list_new1.end(); it++)
{
std::cout << ' ' << *it;
}
cout<<endl;
cout<<my_list.size()<<endl;
while (!my_list.empty())
{
cout<<"list not empty"<<endl;
break;
}
for (std::list<int>::iterator it=my_list.begin(); it != my_list.end(); ++it)
{
std::cout << ' ' << *it;
}
cout<<endl;
cout<<my_list.front()<<endl;
cout<<my_list.back()<<endl;
for (std::list<int>::reverse_iterator rit=my_list.rbegin(); rit != my_list.rend(); ++rit)
{
std::cout << ' ' << *rit;
}
cout<<endl;
my_list.push_front(7);
my_list.push_front(7);
my_list.push_back(9);
my_list.push_back(9);
for (std::list<int>::iterator it=my_list.begin(); it != my_list.end(); ++it)
{
std::cout << ' ' << *it;
}
cout<<endl;
my_list.pop_front();
my_list.pop_front();
my_list.pop_back();
my_list.pop_back();

iter = my_list.begin();
my_list.insert (iter,2,10); // вставка в начало двух элементов
my_list.erase (iter); // удаление первого элемента списка
my_list.remove(15); // удаление цифры 15
my_list.remove_if(del_number_if); // удаление значений меньше 90
my_list.unique(); // удаление повторяющихся значений
my_list.sort();
my_list.reverse();
for (std::list<int>::iterator it=my_list.begin(); it != my_list.end(); ++it)
{
std::cout << ' ' << *it;
}
cout<<endl;
my_list.clear(); // очищаем список
system("pause");
return 0;
}

Результат работы программы list (список) на C++:

Standard Template Library list на C++

615

Leave a Reply

Ваш адрес email не будет опубликован.