เราจะมาดูวิธีการจัดเรียงรายการสตริงตามความยาวของสตริง ดังนั้นหากสตริงมีจำนวนอักขระน้อยกว่า สตริงนั้นจะถูกวางไว้ก่อน จากนั้นจึงวางสตริงที่ยาวกว่าอื่นๆ สมมติว่าสตริงคือ
str_list = {“Hello”, “ABC”, “Programming”, “Length”, “Population”} หลังจากคัดแยกแล้วจะเป็น −
str_list = {“ABC”, “Hello”, “Length”, “Population”, “Programming”} ที่นี่เราจะสร้างตรรกะการเปรียบเทียบของเราเองเพื่อจัดเรียง ตรรกะการเปรียบเทียบนั้นจะถูกใช้ในฟังก์ชันการจัดเรียงใน C++ STL
อัลกอริทึม
compare(str1, str2): Begin if length of str1 < length of str2, then return 1 return 0 End
ตัวอย่าง
#include<iostream>
#include<algorithm>
using namespace std;
int compare(string str1, string str2){
if(str1.length() < str2.length())
return 1;
return 0;
}
main(){
string str_list[] = {"Hello", "ABC", "Programming", "Length", "Population"};
int n = 5;
sort(str_list, str_list + n, compare);
for(int i = 0; i<n; i++){
cout << str_list[i] << " ";
}
} ผลลัพธ์
ABC Hello Length Population Programming