30/09/2018, 18:18

Xin hỏi về hàm sort trong C++

Chào anh chị. Em thì em biết dùng sort trong mảng một chiều nhưng mảng 2 chiều thì dùng như thế nào ạ? Hay chỉ có cách gán mảng 2 chiều vào mảng 1 chiều r dùng sort rồi gán lại? Em thấy nó hơi lằng nhằng. Em cám ơn ạ

viết 20:30 ngày 30/09/2018

sắp xếp theo quy tắc nào?

vd
9 1 3
5 6 8
7 4 2
sắp xếp thành
1 2 3
4 5 6
7 8 9
? Nếu quy tắc như thế này thì có lẽ copy qua mảng 1 chiều rồi gán lại vào mảng 2 chiều là cách tốt nhất rồi

Nguyễn Cát Long Huy viết 20:30 ngày 30/09/2018

không có cách nào nhanh hơn hả bạn?

viết 20:22 ngày 30/09/2018

sắp xếp kiểu mà phần tử từ hàng này có thể nhảy sang hàng khác thì chuyển sang mảng 1 chiều là gọn nhất rồi… Cả ma trận ví dụ có n phần tử (n = hàng x cột) thì sắp xếp tốn O(nlogn) phép so sánh M1[i] < M1[j], copy qua mảng 1 chiều rồi copy lại cao lắm chỉ tốn 2n phép so sánh đơn giản I < số hàng, j < số cột nên ko ảnh hưởng gì nhiều tới tốc độ đâu.

Nguyễn Cát Long Huy viết 20:23 ngày 30/09/2018

hehe. Ths bạn nhiều nhe ^^

Bài liên quan
0