jueves, 24 de septiembre de 2015

STL Usando Colas de Doble Terminacion en Visual Studio 2013


Main.cpp

//STL Usando Colas de Doble Terminacion

#include <iostream>
#include <deque>

//para usar sort<T>()
#include <algorithm>

//para usar accumulate<T>()
#include <numeric>

#include <functional>

using namespace std;

int main()
{
	deque<int> datos;

	//Lee los datos
	cout << "Introduce una serie de enteros separados por espacios."
		<< " Introduce 0 para terminar." << endl;

	int valor{};

	while (cin >> valor, valor != 0)
		datos.push_front(valor);

	//salida de los datos
	cout << endl << "Los valores que tu introduciste del ultimo al primero son: " << endl;
	
	for (const auto &n : datos)
	{
		cout << n << "  ";
	}

	cout << endl;

	//La salida de los datos usando un iterator en reversa
	cout << endl
		<< "En orden inverso los valores que tu introduciste" << endl;

	for (auto revIter = crbegin(datos); revIter != crend(datos); ++revIter)
		cout << *revIter << "  ";

	cout << endl;

	//ordena los datos en secuencia descendente
	cout << endl
		<< "Los valores del mayor al menor introducidos son: " << endl;

	//ordena los elementos
	sort(begin(datos), end(datos), greater<>());

	for (const auto &n : datos)
		cout << n << "  ";
	cout << endl;

	//Calcula la suma de los elementos
	cout << endl
		<< "La suma de los elementos en la cola es: "
		<< accumulate(cbegin(datos), cend(datos), 0) << endl;

	system("pause");
}

No hay comentarios:

Publicar un comentario