Prolog Επεξεργασία και Αναπαράσταση Γνώσης ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολογίας Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο: Τεχνητή Νοημοσύνη
Χειρισμός Λιστών (1/2) Προσθήκη στοιχείου στην αρχή μίας λίστας add(List,Element,[Element|List]). π.χ. ?-add([a,b,c,d],q,L). L=[q,a,b,c,d]; Προσθήκη στοιχείου σε οποιαδήποτε θέση στη λίστα insert(X,L,[X|L]). insert(X,[H|T],[H|U]) :- insert(X,T,U). Έτσι: ?-insert([a,b,c],q,L). L=[q,a,b,c]; L=[a,q,b,c]; L=[a,b,q,c]; L=[a,b,c,q]; no 2
Χειρισμός Λιστών (2/2) Αφαίρεση στοιχείων από μία λίστα delete(Element,List,NewList):-append(List1,[Element|List2],List), append(List1,List2,NewList). Αναστροφή λιστών reverse([],[]). reverse([Head|Tail],ReversedList):- reverse(Tail,ReversedTail), append(ReversedTail,[Head],ReversedList). 3