รายการของสตริงที่กำหนดจะถูกจัดเรียงตามลำดับตัวอักษรและตัวเลขหรือลำดับพจนานุกรม เช่นเดียวกับคำเหล่านี้:Apple, Book, Aim พวกเขาจะถูกจัดเรียงเป็น Aim, Apple, Book หากมีตัวเลขบางตัวสามารถวางไว้ข้างหน้าสตริงตัวอักษรได้
อินพุตและเอาต์พุต
Input: A list of strings: Ball Apple Data Area 517 April Man 506 Output: Strings after sort: 506 517 Apple April Area Ball Data Man
อัลกอริทึม
sortStr(strArr, n)
ป้อนข้อมูล: รายการสตริงทั้งหมด จำนวนองค์ประกอบ
ผลลัพธ์ − สตริงเรียงตามลำดับตัวอักษรและตัวเลข
Begin for round := 1 to n-1, do for i := 0 to n-round, do res := compare str[i] and str[i+1] //either +ve, or –ve or 0 if res > 0, then swap str[i] and str[i+1] done done End
ตัวอย่าง
#include<iostream> #define N 8 using namespace std; void display(int n, string str[]) { for(int i = 0; i<n; i++) cout << str[i] << " "; //print the string from array cout << endl; } void sortStr(int n, string str[]) { int i, round, res; for(round = 1; round<n; round++) for(i = 0; i<n-round; i++) { res = str[i].compare(str[i+1]); if(res > 0) swap(str[i], str[i+1]);//swap strings } } main() { string str[N] = {"Ball", "Apple", "Data", "Area", "517", "April", "Man", "506"}; cout << "Strings before sort:"<< endl; display(N, str); sortStr(N, str); cout << "Strings after sort:"<<endl; display(N, str); }
ผลลัพธ์
Strings before sort: Ball Apple Data Area 517 April Man 506 Strings after sort: 506 517 Apple April Area Ball Data Man