Thắc mắc đề bài tập mảng 1 chiều

Cho mảng A1[] và A2[] gồm n, m phần tử theo thứ tự. Hãy sắp xếp lại các phần tử trong A1[] theo quan hệ thứ tự trong A2[]. Phần tử xuất hiện trước trong A2[] và có mặt trước trong A1[] đứng trước; các phần tử xuất hiện trong A1[] nhưng không xuất hiện trong A2[] đứng sau theo thứ tự tăng dần. Ví dụ với mảng A1[] = {2, 1, 2, 5, 7, 1, 9, 3, 6, 8, 8 }, A2[] = {2, 1, 8, 3} sau khi sắp xếp ta được A1[] = {2, 2, 1, 1, 8, 8, 3, 5, 6, 7, 9}.

Anh chị cho em hỏi là đề như trên thì câu:

Phần tử xuất hiện trước trong A2[] và có mặt trước trong A1[] đứng trước

xét điều kiện như thế nào, với TH chỉ thỏa mãn 1 điều kiện thì là như thế nào vậy ạ.

Bài này tách ra rồi nối lại. Phần đầu chính là đếm phân phối (lưu ý C++ có sẵn CTDL trong khi chọn lọc ra hai phần)

2 Likes

ý anh là tách thành phần có trong A2 và không có trong A2 hay sao anh

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?