list |
This container is very efficient when inserting and deleting elements. The main advantage of list is that iterators are valid after inserting or deleting. Este contenedor es muy eficiente cuando se insertan o se borran elementos. La principal ventaja de list es que los iteradores son válidos después de insertar o borrar. |
list Access |
The program below shows how to iterate a list container from the first element to the last one. El programa de abajo muestra cómo iterar el contenedor list desde el primer elemento hasta el último. |
Program.cpp |
std::list<std::wstring> name; name.push_back(L"John"); name.push_back(L"Mary"); name.push_back(L"Peter"); std::list<std::string>::iterator p; wstring text; for (p = name.begin(); p != name.end(); p++) { text += *p; //text += p->c_str(); } |
Advance |
As the list does not provide direct access to a specific element in the list, you can use advance to move to a specific position in the list. This is not very efficient, but list has other advantages. The program below shows how to use advance. Como la lista no proporciona acceso directo a un elemento específico en la lista, usted puede usar advance para moverse a una posición específica en la lista. Esto no es muy eficiente, pero list tiene otras ventajas. El programa de abajo muestra cómo usar advance. |
Program.cpp |
std::list<std::wstring> name; name.push_back(L"John"); name.push_back(L"Mary"); name.push_back(L"Peter"); std::list<std::string>::iterator p = name.begin(); // Advance the iterator by 2 positions, std::advance(it, 2); |
Sort |
A STL list provides its own method to sort the elements inside the container as shown in the following code. You can optionally provide your own sorting function. Una lista en STL proporciona su propio método para ordenar los elementos dentro del contenedor como se muestra en el código siguiente. Usted puede opcionalmente proporcionar su propia función para ordenar. |
Program.cpp |
std::list<std::wstring> name; name.push_back(L"John"); name.push_back(L"Mary"); name.push_back(L"Peter"); name.sort(); //name.sort(Sys::TextAssistant::CompareNoCase); |