นี่คือวิธีเรียงลิสต์สตริงตามความยาว สตริงที่สั้นกว่าจะอยู่หน้า สตริงที่ยาวกว่าจะอยู่หลัง สมมติสตริงคือ
str_list = {"Hello", "ABC", "Programming", "Length", "Population"}หลังเรียงจะได้ −
str_list = {"ABC", "Hello", "Length", "Population", "Programming"}เราจะสร้าง logic การเปรียบเทียบเองเพื่อใช้ในฟังก์ชัน sort ของ 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