อย่างไรก็ตาม การเรียงลำดับจากน้อยไปมากหรือมากไปหาน้อยสามารถทำได้อย่างถูกต้องโดยใช้วิธีการเรียงลำดับสตริงและวิธีอื่นๆ ด้วยในการเขียนโปรแกรม C++ แต่ในที่นี้ สตริงเปรียบเทียบ (คำแรกกับคำที่สอง) และคัดลอก (คัดลอกคำแรกในตัวแปร temp) ที่เกี่ยวข้องกับการวนรอบภายในและภายนอกเพื่อเรียงลำดับคำจากมากไปหาน้อยดังนี้
ตัวอย่าง
#include<bits/stdc++.h>
using namespace std;
int main(){
char str[3][20]={"Ajay","Ramesh","Mahesh"};
char t[20];
int i, j;
for(i=1; i<3; i++){
for(j=1; j<3; j++){
if(strcmp(str[j-1], str[j])>0){
strcpy(t, str[j-1]);
strcpy(str[j-1], str[j]);
strcpy(str[j], t);
}
}
}
cout<<"Sorted in Descending Order ::";
for(i=3; i>=0; i--){
cout<<" ";
cout<<str[i]<<"\n";
}
return 0;
} ผลลัพธ์
โปรแกรมนี้ให้ผลลัพธ์โดยการเรียงลำดับสตริงจากมากไปหาน้อยหลังจากยอมรับสามคำ (Ajay, Ramesh และ Mahesh) เป็นอินพุตดังต่อไปนี้
Sorted in Descending Order:: Ramesh Mahesh Ajay