วิธี 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