Monday, January 15, 2007

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

#include <iostream>
#include <list>
#include <deque>

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

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

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

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

std::unique(this->begin(),this->end());
}

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

};

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

No comments: