;;vytvoreni; make-hash-table
(setf ht (make-hash-table))
;;pristup k prvkum: gethash
(gethash klic ht) - hashuje podle cehokoliv
;;neexistuje - vraci nil
(setf (gethash 'klic ht) 10)
;;odstraneni
(remhash 'klic ht)
;;prochazeni hash tabulkou
maphash funke tabulka - ma 2 parametry: klic, hodnota
;;pr. vypsani prvku tabulky
(maphash #'(lambda (k h)
(format t "Klic: ~A hodnota: ~A ~%" k h)
)
ht
)
;; pomoci hashovaci tabulky spocete cetnost prvku v seznamu
(defun spocti-cetnosti (seznam)
(let (ht)
(setf ht (make-hash-table))
(mapcar #'(lambda (a)
(setf (gethash a ht) (if (gethash a ht) (+ 1 (gethash a ht)) 1))
)
seznam
)
(maphash #'(lambda (k h)
(format t "Prvek ~A ma cetnost ~A ~%" k h)
)
ht
)
)
)
;;mame orientovany acyklicky graf reprezentovany seznamem
( (a b c) (b c d) (c d) (d))
;;zjistit, do jakych uzlu vede cesta