Nowa wersja
|
Poprzednia wersja
Nowa wersja
Both sides next revision
|
pl:dydaktyka:jimp2:2017:labs:algorithm [2017/05/11 04:59] mwp utworzono |
pl:dydaktyka:jimp2:2017:labs:algorithm [2017/05/11 06:08] mwp [Biblioteka algorithm] |
====== Biblioteka algorithm ====== | ====== Biblioteka algorithm ====== |
| |
| Zapoznać się z metodami z bilblioteki [[http://en.cppreference.com/w/cpp/algorithm]]. Dla każdej z metod jest w dokumentacji podany przykład użycia kodu. |
| |
| W przypadku modyfikowania niezainicjalizowanego kontenera może się przydać [[http://en.cppreference.com/w/cpp/iterator/back_inserter]] |
| |
| |
====== Ćwiczenia do wykonania ====== | ====== Ćwiczenia do wykonania ====== |
| |
| [7 plusów] Przy pomocy algorytmów znajdujących się w bibliotece algorithm należy zaimplementować następujące metody (kolejność przypadkowa): |
| <code cpp> |
| std::set<std::string> Keys(const std::map<std::string, int> &m); |
| std::set<std::string> Values(const std::map<std::string, int> &m); |
| std::map<std::string, int> DivisableBy(const std::map<std::string, int> &m,int divisor); |
| void SortInPlace(std::vector<int> *v); |
| std::vector<int> Sort(const std::vector<int> &v); |
| void SortByFirstInPlace(std::vector<std::pair<int,int>> *v); |
| void SortBySecondInPlace(std::vector<std::pair<int,int>> *v); |
| void SortByThirdInPlace(std::vector<std::tuple<int,int,int>> *v); |
| std::vector<std::string> MapToString(const std::vector<double> &v); |
| std::string Join(const std::string &joiner, const std::vector<double> &v); |
| int Sum(const std::vector<int> &v); |
| int Product(const std::vector<int> &v); |
| bool Contains(const std::vector<int> &v, int element); |
| bool ContainsKey(const std::map<std::string, int> &v, const std::string &key); |
| bool ContainsValue(const std::map<std::string, int> &v, int value); |
| std::vector<std::string> RemoveDuplicates(const std::vector<std::string> &v); |
| void RemoveDuplicatesInPlace(std::vector<std::string> *v); |
| void InitializeWith(int initial_value, std::vector<int> *v); |
| std::vector<int> InitializedVectorOfLength(int length, int initial_value); |
| void CopyInto(const std::vector<int> &v, int n_elements, std::vector<int> *out); |
| int HowManyShortStrings(const std::vector<std::string> &v, int inclusive_short_length); |
| </code> |
| |
| |
| |
| |