İki işaretçi aynı listede olmak zorunda değil. İki sıralı listeyi birleştirirken her listede bir işaretçi tutarsın; her adımda küçük olanı alır ve yalnızca o listenin işaretçisini ilerletirsin.
i = j = 0out = []while i < len(a) and j < len(b):if a[i] <= b[j]:out.append(a[i])i += 1else:out.append(b[j])j += 1return out + a[i:] + b[j:]
Bu, birleştirerek sıralamanın (merge sort) kalbidir ve ileride karşına çıkacak. Şimdilik görmen gereken: iki işaretçi, her adımda biri ilerler, hiçbiri geri gitmez.