C++ :: Aufgabe #336
1 Lösung
Duplikate aus Liste/Array entfernen
Anfänger - C++
von JKooP
- 20.02.2021 um 16:36 Uhr
Gegeben ist eine unsortierte Liste, welche alle gängigen Datentypen aufnehmen kann.
Dabei sind alle Werte des gleichen Typs. Statt der Liste können auch Arrays genutzt werden.
Beispiele:
List<int> {1, 4, 1, 3, 1, 4}
List<char> {‘a’, ‘b’, ‘a’, ‘a’, ‘c’}
Aus dieser Liste sollen jetzt alle Duplikate entfernt und die Liste anschließend sortiert werden.
Lösung:
List<int> {1, 3, 4}
List<char> {‘a’, ‘b’, ‘c’}
Schreibe eine Methode/Funktion, die eine Liste/Array aufnimmt, die Duplikate entfernt und diese dann sortiert wieder zurückgibt.
Viel Spaß
Dabei sind alle Werte des gleichen Typs. Statt der Liste können auch Arrays genutzt werden.
Beispiele:
List<int> {1, 4, 1, 3, 1, 4}
List<char> {‘a’, ‘b’, ‘a’, ‘a’, ‘c’}
Aus dieser Liste sollen jetzt alle Duplikate entfernt und die Liste anschließend sortiert werden.
Lösung:
List<int> {1, 3, 4}
List<char> {‘a’, ‘b’, ‘c’}
Schreibe eine Methode/Funktion, die eine Liste/Array aufnimmt, die Duplikate entfernt und diese dann sortiert wieder zurückgibt.
Viel Spaß
Lösungen:
C++ 17
C-Code
#include <iostream> #include <vector> #include <algorithm> using namespace std; template <typename T> void uniques(vector<T> &v) { sort(v.begin(), v.end()); v.erase(unique(v.begin(), v.end()), v.end()); } int main() { vector<char>v { 'a', 'b', 'a', 'a', 'c' }; // vector<int>v{ 1, 4, 1, 3, 1, 4 }; // vector<double>v{ 1.4, 4.8, 1.4, 3.0, 1.4, 4.8 }; uniques(v); for(const auto& i : v) cout << i << ", "; }