Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Sắp xếp mảng chuỗi không sao chép chuỗi C++

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,