So entfernen Sie Duplikate in Prolog

Prolog ist eine deklarative Programmiersprache, die häufig in der Forschung zu künstlicher Intelligenz und Linguistik verwendet wird. Im Gegensatz zu den üblicheren prozeduralen Sprachen sind die meisten Prolog-Programme als eine Reihe von Regeln und Gleichungen und nicht als eine Reihe von Schritten definiert. Der folgende Code beschreibt den Vorgang zum Entfernen von Duplikaten aus einer Liste in Prolog.

Schritt 2

Geben Sie den Code zwischen den Schrägstrichen ein (lassen Sie die Schrägstriche selbst weg):

/ % remove_dups(+List, -NewList): % Neue Liste ist an Liste gebunden, aber doppelte Elemente entfernt. remove_dups([], []).

remove_dups([Erstes | Rest], NewRest) :- Mitglied (First, Rest), remove_dups (Rest, NewRest).

remove_dups([First | Rest], [First | NewRest]) :- nicht (Mitglied (First, Rest)), remove_dups (Rest, NewRest). /

Die Funktion "remove_dups" ist als eine Reihe von drei Regeln definiert. Die erste Regel ("remove_dups([],[].)") gibt an, dass nichts unternommen werden soll, wenn die Liste leer ist; die Funktion sollte einfach zurückkehren. Die zweite Regel gibt an, dass, wenn das erste Element in der Liste an anderer Stelle in der Liste auftaucht, es entfernt werden sollte (da es ein Duplizieren) und die Verarbeitung sollte mit dem Rest der Liste fortgesetzt werden, indem die Funktion remove_dups erneut mit dem ersten Element in der Liste aufgerufen wird aufgehört. Die letzte Regel gibt an, dass, wenn das erste Mitglied der Liste nicht an anderer Stelle in der Liste vorhanden ist, es beibehalten und die Verarbeitung fortgesetzt werden sollte.

Techwalla kann über Affiliate-Links in dieser Story eine Vergütung erhalten.