На этом шаге мы приведем пример, в котором используются базовые операции над списками.
В данном примере рассматриваются базовые операции над списками.
//--------------------------------------------------------------------------- #include <vcl.h> #include <iostream> #include <list> #include <winuser.h> #include <conio.h> //необходимо для getch() #pragma hdrstop //--------------------------------------------------------------------------- #pragma argsused using namespace std; std::string ToRus(const std::string &in) { char *buff = new char [in.length()+1]; CharToOem(in.c_str(),buff); std::string out(buff); delete [] buff; return out; } int main(int argc, char* argv[]) { list<char> lst, revlst; // создание пустого списка int i; for (i=0; i<10; i++) lst.push_back('A' + i); cout << ToRus("Размер списка lst = ") << lst.size() << endl; cout << ToRus("Содержимое lst: "); list<char>::iterator p = lst.begin(); /* Удаляем элементы из списка lst и помещаем их в список revlst в обратном порядке */ while (!lst.empty()) { p = lst.begin(); cout << *p; revlst.push_front(*p); lst.pop_front(); } cout << endl << endl; cout << ToRus("Размер списка revlst = "); cout << revlst.size() << endl; cout << ToRus("Реверсированное содержимое списка: "); p = revlst.begin(); while(p != revlst.end()) { cout << *p; p++; } getch(); return 0; } //---------------------------------------------------------------------------
Результаты выполнения этой программы представлены на рисунке 1.
Рис.1. Результат работы приложения
На следующем шаге мы рассмотрим сортировку списка.