Sắp xếp mảng chuỗi theo thứ tự từ điển mà không sao chép chuỗi (không swap chuỗi). Sử dụng mảng chỉ số index[], sắp xếp index dựa trên so sánh chuỗi gốc.
Selection Sort trên mảng chỉ số
Khởi tạo index[i]=i. Selection sort: tìm min trong đoạn chưa sắp xếp bằng cách so sánh arr[index[min]] và arr[index[j]]. Swap index thay vì swap chuỗi.
Ví dụ minh họa
#include <iostream>
#include <string>
using namespace std;
void sortStringArray(string arr[], int n) {
int idx[100];
for (int i=0; i 0)
mn = j;
if (mn != i) swap(idx[mn], idx[i]);
}
for (int i=0; i
Kết quả
Banglore, Delhi, Hyderabad, Indore, Mumbai,