Listenelemente in Ocaml < Softwaretechnik+Pro < Praktische Inform. < Hochschule < Informatik < Vorhilfe
|
Aufgabe | Verwenden sie hierfür OCAML
['a'; 'b'; 'd'; 'c'; 'b'; 'd']
Entfernen sie mit hilfe einer Funktion alle doppelten Listenelemente? (Auch die Reihenfolge abcd soll beachtet werden!) |
Stehe vor folgender Aufgabe:
habe in Ocaml so eine Liste als angabe
['a'; 'b'; 'd'; 'c'; 'b'; 'd']
Entfernen sie mit hilfe einer Funktion alle doppelten Listenelemente? (Auch die Reihenfolge abcd soll beachtet werden!)
Wäre euch sehr dankbar, wenn ihr mir weiterhelfen könntet!
mfg clemens
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
|
|
|
|
Hallo und ,
> (Auch die Reihenfolge abcd soll beachtet werden!)
Das bedeutet, die Liste soll am Ende sortiert sein, oder?
Dann würde ich sie zuerst sortieren (such dir einen Sortieralgorithmus aus und implementier ihn oder nutze die eingebaute Funktion) und dann rekursiv abklappern:
Wenn die beiden ersten Elemente einer Liste gleich sind, dann lasse ich das erste Element stehen und rufe die Funktion rekursiv auf dem Rest auf. Falls sie nicht gleich sind, lasse ich das erste Element stehen und rufe die Funktion rekursiv auf dem zweiten Element gefolgt vom Rest der Liste auf.
Rekursionsbasen gibt es zwei: die leere Liste und die einelementige Liste.
Probier es aus.
Gruß
Martin
|
|
|
|