Wie hinzufügen am Ende der Liste in prolog
Ich versuche, fügen Sie ein Element am Ende einer Liste in prolog, aber es hält auf, zu scheitern.
insertAtEnd(X,[ ],[X]).
insertAtEnd(X,[H|T],[H|Z]) :- insertAtEnd(X,T,Z).
letters([a,b,c]).
Verstehe ich nicht, warum das unten nicht funktioniert.
insertAtEnd(d,letters(Stored),letters(Stored)).
Ich bin auch der Versuch zu speichern diese Liste in der variable Gespeichert, während, aber ich bin nicht sicher, ob die oben richtigen Weg zu gehen.
- Die Notwendigkeit zum einfügen eines Elements am Ende einer Liste suggeriert, dass man sich in Differenz-Listen, die Ihnen die O(1) einfügen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Prolog implementiert eine relationalen Berechnungsmodell und-Variablen können nur instanziiert werden, nicht zugewiesen. Versuchen
können Sie Anhängen
und setzen Sie Ihren posten als zweite Liste
wie diese:
insertAtEnd(X,Y,Z) :- append(Y,[X],Z).