Pagini recente » Cod sursa (job #2188546) | Cod sursa (job #265979) | Cod sursa (job #2989664) | Cod sursa (job #321369) | Cod sursa (job #1181760)
#include <iostream>
using std::cout;
using std::endl;
#include <list>
#include <algorithm>
#include <iterator>
template <class T>
void printList(const std::list<T> &listRef);
int main()
{
const int SIZE = 4;
int a[SIZE] = {2, 4, 6, 8};
std::list<int> values, otherValues;
values.push_front(1);
values.push_front(2);
values.push_back(4);
values.push_back(3);
cout << "lista values contine: ";
printList(values);
values.sort();
cout << "\ndupa sort lista values contine: ";
printList(values);
otherValues.insert(otherValues.begin(), a, a+SIZE);
cout << "\ndupa insert lista otherValues contine: ";
printList(otherValues);
values.splice(values.end(), otherValues);
cout << "\ndupa splice lista values contine: ";
printList(values);
values.sort();
cout << "\ndupa sort lista values contine: ";
printList(values);
otherValues.insert(otherValues.begin(), a, a+SIZE);
otherValues.sort();
cout << "\nlista otherValues contine: ";
printList(otherValues);
values.merge(otherValues);
cout << "\ndupa merge:\n lista values contine: ";
printList(values);
cout << "\n lista otherValues contine: ";
printList(otherValues);
values.pop_front();
values.pop_back();
cout << "\ndupa pop_front si pop_back lista values contine: ";
printList(values);
values.unique();
cout << "\ndupa unique, lista values contine: ";
printList(values);
//metoda swap poate fi folosita de toti containerii
values.swap(otherValues);
cout << "\ndupa swap:\n lista values contine: ";
printList(values);
cout << "\n lista otherValues contine: ";
printList(otherValues);
values.assign(otherValues.begin(), otherValues.end());
cout << "\ndupa assign lista otherValues contine: ";
printList(values);
values.merge(otherValues);
cout << "\ndupa merge lista values contine: ";
printList(values);
values.remove(4);
cout << "\ndupa remove lista values contine: ";
printList(values);
cout << endl;
return 0;
}
template <class T>
void printList(const std::list<T> &listRef)
{
if(listRef.empty())
cout << "Lista este goala";
else
{
std::ostream_iterator<T> output(cout, " ");
std::copy(listRef.begin(), listRef.end(), output);
}
}