String str[]={"-123","89","-10","456"};
str
là một mảng các chuỗi, với mỗi chuỗi có định dạng của một số nguyên và bạn phải thực hiện sắp xếp theoO(n log n)
thời gian trên mảng này .Các chuỗi trong
str
có thể đại diện cho cả số nguyên dương và số âm. Độ dài tối đa của các chuỗi này là 1024 ký tự.
Tôi biết một giải pháp của vấn đề này là chuyển đổi các chuỗi thành số, sau đó so sánh chúng với nhau; Có giải pháp nào khác cho vấn đề này không?
1024 ký tự - tức là chữ số - bạn sẽ cần số nguyên rất lớn cho ...
—
Aconcagua
@RSahu lỗi của tôi, tôi đã chỉnh sửa câu hỏi ngay bây giờ
—
Emp1
@Aconcaguan vâng, tôi đã sử dụng thư viện tăng cường đa năng của cpp cho điều đó
—
Emp1
Một phiên bản khác của ý tưởng trong các câu trả lời thực hiện so sánh dựa trên chuỗi: bạn có thể phân vùng danh sách thành các phần âm và không âm, sau đó sử dụng hai hàm so sánh đơn giản hơn cho mỗi loại để sắp xếp các phần.
—
aschepler