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 Going backwards element is 0 Going backwards element is 19 Going backwards element is 18 Going backwards element is 17 Going backwards element is 16 Going backwards element is 15 Going backwards element is 14 Going backwards element is 13 Going backwards element is 12 Going backwards element is 11 Second time around Element is 10 Element is 21 Element is 22 Element is 23 Element is 24 Element is 25 Element is 26 Element is 27 Element is 28 Element is 29 Reverse iterator element is 29 Reverse iterator element is 28 Reverse iterator element is 27 Reverse iterator element is 26 Reverse iterator element is 25 Reverse iterator element is 24 Reverse iterator element is 23 Reverse iterator element is 22 Reverse iterator element is 21 Reverse iterator element is 10 ----------- 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}