วิธี stable_sort ของ STL จะเรียงลำดับส่วนประกอบที่มีชื่อเป็นคีย์ในลำดับจากน้อยไปมากก่อน จากนั้นจึงจัดเรียงส่วนประกอบโดยให้เซ็กเมนต์เป็นคีย์ ยิ่งกว่านั้น การคำนวณ stable_sort() ถูกมองว่าคงที่โดยพิจารณาจากข้อเท็จจริงที่ว่าคำขอโดยรวมของส่วนประกอบที่เทียบเคียงได้นั้นยังคงอยู่ นี่คือซอร์สโค้ดของโปรแกรม C++ ซึ่งแสดงการคำนวณ stable_sort() ที่แสดงไว้ดังนี้
ตัวอย่าง
#include <bits/stdc++.h> using namespace std; int main(){ int arr[] = { 11, 15, 18, 19, 16, 17, 13, 20, 14, 12, 10 }; int n = sizeof(arr) / sizeof(arr[0]); stable_sort(arr, arr + n); cout << "Array after sorting is ="; for (int i = 0; i < n; ++i) cout << arr[i] << " "; return 0; }
ผลลัพธ์
โปรแกรม C++ นี้ให้อาร์เรย์ต่อไปนี้ถูกเรียงลำดับจากน้อยไปมากดังนี้
Array after sorting is= 10 11 12 13 14 15 16 17 18 19 20