merge
merge termine inglese («fondere», «incorporare») indicante la procedura dei linguaggi di programmazione che, a partire da due o più liste in ingresso, fornisce una sola lista, ordinata secondo una relazione d’ordine assegnata. Dal punto di vista strutturale l’operazione di merge consiste nel confronto degli elementi contenuti in due pile ordinate di dati: si confrontano, secondo la relazione d’ordine assegnata, gli elementi in testa a ciascuna di esse e si muove quello opportuno in una terza pila, ripetendo il procedimento fino a esaurire tutti gli elementi a disposizione. La lista finale, ottenuta in questa terza pila, considerata in modalità di accesso fifo (first in-first out), contiene ordinatamente tutti gli elementi delle due pile. Si, supponga per esempio di avere a disposizione due liste di elementi omogenei, ciascuna ordinata secondo la stessa relazione d’ordine (per esempio, nomi in ordine alfabetico). Se si vuole creare una sola lista contenente tutti gli elementi di entrambe e che sia ordinata alfabeticamente, si deve realizzare un algoritmo che confrontando ordinatamente i nomi delle due liste, inserisca in quella finale tutti gli elementi nel giusto ordine; si ottiene così una lista unica come fusione delle altre due.