Monday, January 15, 2007

T02-STL: Usando la librería STL de C++:

#include <iostream>
#include <list>
#include <vector>

using std::cout;
using std::cin;
using std::endl;
using std::vector;
using std::sort;

struct Vector : vector<int> {
Vector(int *i, int s) : vector<int>() {
for(int j = 0; j < s; j++)
this->push_back(*i++);
}
void print() { // Imprime lista
for(vector<int>::iterator it=this->begin(); it!=this->end(); it++)
cout << *it;
cout << endl;
}

void sort(){
std::sort(this->begin(),this->end());
}

void unique(){
vector<int>::iterator s;
for(;s < this->end();){
s = std::unique(this->begin(),this->end());
this->erase(s);
}
}

void reverse(){
std::reverse(this->begin(),this->end());
}

};

int main()
{
const int si = 5;
int a[si];
a[0] = 3;
a[1] = 1;
a[2] = 2;
a[3] = 2;
a[4] = 4;
Vector list1 = Vector(a, si);
list1.print();
list1.sort();
list1.print();
list1.unique();
list1.print();
list1.reverse();
list1.print();
cin.ignore(); // Pausa = cin.get()
}

No comments: