Using il codice nell'alberino relativo, considerare che cosa accade quando il adjacent_find trasmette il left= (22, A) e il right= (22, A) a isDistEqual (). Le distanze abbinano, ma l'identificazione dell'allievo non abbina e così
left.studentName! = right.studentName
è falso. Così questo accoppiamento è saltato da adjacent_find.
Così, neppure non saprete da adjacent_find che là persino era due voci = (22, A). Così, non dovete preoccuparti per ottenere 22 piedi: A, A, C, D da 22, A sarà veduto soltanto una volta.