การเรียงลำดับหลายคีย์
กำหนดรายการดัชนีและรายการเลขจำนวนเต็มศูนย์หรือมากกว่าให้เอาท์พุทรายการจำนวนเต็มเรียงตามลำดับจากน้อยไปมากโดยให้ความสำคัญกับคีย์จากอินพุตแรก ตัวอย่าง ปล่อยให้ปุ่มป้อนเข้า[1, 0, 2]และรายการจะถูกป้อน[[5, 3, 4], [6, 2, 1], [5, 2, 1]]เข้าไป รายการเหล่านั้นจะต้องเรียงลำดับตามองค์ประกอบที่สองจากนั้นองค์ประกอบแรกจากนั้นองค์ประกอบที่สามตามลำดับจากน้อยไปมาก: อันดับแรกเราจัดเรียงตามค่าที่ดัชนี1:[[6, 2, 1], [5, 2, 1], [5, 3, 4]] ต่อไปเราแยกความสัมพันธ์จากการเรียงลำดับแรกโดยใช้ค่าที่ดัชนี0:[[5, 2, 1], [6, 2, 1], [5, 3, 4]] ในที่สุดเราก็แยกความสัมพันธ์ที่เหลือกับ vlues ที่ index 2(นี่ไม่ได้เปลี่ยนแปลงอะไรเลยเพราะไม่มีความสัมพันธ์เหลืออยู่) รายละเอียด การเรียงลำดับมีความเสถียร: หากองค์ประกอบสองรายการเปรียบเทียบเท่ากันด้วยความเคารพต่อคีย์การเรียงลำดับที่กำหนดพวกเขาจะต้องอยู่ในลำดับสัมพัทธ์เดียวกันในผลลัพธ์ ตัวอย่างเช่นถ้าAและBมีความเท่าเทียมกันภายใต้คีย์การเรียงลำดับได้รับและการป้อนข้อมูลที่เป็น[..., A, ..., B, ...],Aต้องถูกวางไว้ก่อนBในการส่งออก คีย์การเรียงลำดับจะไม่อ้างอิงองค์ประกอบที่ไม่มีอยู่ในรายการอินพุตอย่างใดอย่างหนึ่ง จะไม่มีการเรียงลำดับคีย์ซ้ำ ดังนั้น,[1, 2, 1]ไม่ใช่รายการของคีย์การเรียงลำดับที่ถูกต้อง …