39 lines
1.0 KiB
C++
39 lines
1.0 KiB
C++
/*
|
||
* exercise_1.hpp
|
||
*
|
||
* Created on: 6 окт. 2021 г.
|
||
* Author: alexander
|
||
*/
|
||
|
||
#pragma once
|
||
|
||
#include <iostream>
|
||
#include <iterator>
|
||
#include <string>
|
||
#include <unordered_set>
|
||
#include <vector>
|
||
#include <list>
|
||
#include <deque>
|
||
|
||
template<typename IT>
|
||
void printWords(IT it, IT end)
|
||
{
|
||
std::unordered_set<std::string> countWords(it, end);
|
||
std::copy(countWords.begin(), countWords.end(), std::ostream_iterator<std::string>(std::cout, "; "));
|
||
}
|
||
|
||
void exercise_1()
|
||
{
|
||
std::vector<std::string> v { "Один", "Два", "Три", "Пять", "Один", "Пять", "Шесть", "Два", "Два", "Один", "Семь", "Девять" };
|
||
std::cout << "Вывод вектора:" << std::endl;
|
||
printWords(v.begin(), v.end());
|
||
|
||
std::list<std::string> l(v.begin(), v.end());
|
||
std::cout << "\nВывод листа:" << std::endl;
|
||
printWords(l.begin(), l.end());
|
||
|
||
std::deque<std::string> d(v.begin(), v.end());
|
||
std::cout << "\nВывод деки:" << std::endl;
|
||
printWords(d.begin(), d.end());
|
||
}
|