Original element is 0 Original element is 1 Original element is 2 Original element is 3 Original element is 4 Original element is 5 Original element is 6 Original element is 7 Original element is 8 Original element is 9 Second time around Element is 0 Element is 1 Element is 2 Element is 3 Element is 4 Element is 5 Element is 6 Element is 7 Element is 8 Element is 9 ----------- PART 2 ----------- Let's try to print it Land={Property={id=0, price=200000}, lot_size=10000, water=0} House={Land={Property={id=1, price=600000}, lot_size=10001, water=0}, size=2000} Land={Property={id=2, price=200001}, lot_size=10002, water=0} House={Land={Property={id=3, price=600001}, lot_size=10003, water=0}, size=2001} Content of the list is Land={Property={id=0, price=200000}, lot_size=10000, water=0} House={Land={Property={id=1, price=600000}, lot_size=10001, water=0}, size=2000} Land={Property={id=2, price=200001}, lot_size=10002, water=0} House={Land={Property={id=3, price=600001}, lot_size=10003, water=0}, size=2001} Content of the reversed list is House={Land={Property={id=3, price=600001}, lot_size=10003, water=0}, size=2001} Land={Property={id=2, price=200001}, lot_size=10002, water=0} House={Land={Property={id=1, price=600000}, lot_size=10001, water=0}, size=2000} Land={Property={id=0, price=200000}, lot_size=10000, water=0} Content of the sorted list is Land={Property={id=0, price=200000}, lot_size=10000, water=0} Land={Property={id=2, price=200001}, lot_size=10002, water=0} House={Land={Property={id=1, price=600000}, lot_size=10001, water=0}, size=2000} House={Land={Property={id=3, price=600001}, lot_size=10003, water=0}, size=2001}