4

Tà Đạo # 01 : pair in pair

đã đăng vào 9, Tháng 2, 2024, 0:02

Trong C++ có một thứ khá hữu dụng là mảng Pair khi mảng kiểu này có thể lưu được hai dữ liệu first và second trong một phần tử . Đôi lúc trong một số bài tập chúng ta muốn lưu trữ nhiều dữ liệu hơn trong một phần tử trong mảng và ta có thể để một "pair" trong một mảng pair , cụ thể là : pair < int , pair <int,int> > hoặc pair < pair <int,int> , int > hoặc pair < pair <int,int> , pair <int,int> >.v.v..
từ đó ta không chỉ có 2 dữ liệu cho một phần tử trong mảng mà ta có tận 3 hoặc nhiều hơn nếu muốn :3333


Bình luận

Hãy đọc nội quy trước khi bình luận.



  • 8
    QioCass  đã bình luận lúc 8, Tháng 2, 2024, 18:23

    Theo mình thì nên hạn chế cách code lồng pair trong pair như vậy bởi vì code sẽ trở nên rối và khó debug.

    Để sử dụng nhiều hơn ~2~ kiểu dữ liệu, có thể thử array<> (nếu cùng kiểu dữ liệu), tuple<> (hơi bất cập về cách truy xuất dữ liệu), hoặc struct/class (Cách phổ biến nhất)


    • 1
      tandochuyentin2022  đã bình luận lúc 31, Tháng 8, 2024, 5:13

      Mình nghĩ nếu bạn phải lưu nhiều kiểu dữ liệu mà có thể cần sort nhưng bạn không rành việc viết operator thì có thể dùng tuple, truy suất dữ liệu ta toàn toàn có thế làm nhanh chóng với auto như ví dụ sau:

      vector<tuple<int, int, int>> edge;
      for(auto [u, v, w] : edge) {
          // solve
      }