# samenvoegen van twee geordende lijsten *in-place*
# versie 1: enkel lijst_1, lijst_2 worden in-place verwerkt

def samenvoegen (lijst_1, lijst_2):
    resultaat = []
    index_1 = 0
    index_2 = 0

    # hoofdlus
    while index_1 < len(lijst_1) and index_2 < len(lijst_2):
        if lijst_1[index_1] < lijst_2[index_2]:
            resultaat.append(lijst_1[index_1])
            index_1 += 1
        else:
            resultaat.append(lijst_2[index_2])
            index_2 += 1

    # behandel wat er overblijft van lijst_1
    while index_1 < len(lijst_1):
        resultaat.append(lijst_1[index_1])
        index_1 += 1

    # behandel wat er overblijft van lijst_2
    while index_2 < len(lijst_2):
        resultaat.append(lijst_2[index_2])
        index_2 += 1

    return resultaat

# even uitproberen

lijst_1 = [1,2,4,5,8,9,11]
lijst_2 = [3,6,7,10,12]
# of met een tweede lijst die langer is dan de eerste:
# lijst_2 = [0,3,6,7,10,12,13,14]

# resultaat kan gemakkelijk gecontroleerd worden
print (samenvoegen(lijst_1,lijst_2))
