Hàm sắp xếp trong STL C++ là gi
7/5/2023 11:27:36 PM
tientran21121 ...

I. Định nghĩa về STL

STL (Standard Template Library) là một thư viện mẫu (template library) cho ngôn ngữ lập trình C++. Nó cung cấp các cấu trúc dữ liệu và thuật toán tổng quát, giúp tận dụng hiệu năng và tốc độ của ngôn ngữ C trong lập trình. Với khái niệm lập trình khái lược (generic programming) thông qua việc sử dụng template, STL cung cấp bộ thư viện chuẩn cho C++.

Để sử dụng STL, bạn cần khai báo từ khóa using namespace std; sau các khai báo thư viện (ví dụ #include).

Tại bài viết này mình sẽ không đi sâu vào các tính năng của thư viện STL mà chủ yếu khai thác các đặc tính cũng như cách sử dụng của hàm sort() trong thư viện STL của C++.

II. Một số cách sử dụng hàm sort()

1. Khai báo thư viện

Để sử dụng hàm sort(), chúng ta cần khai báo thư viện algorithm:

2. Truy cập địa chỉ của phần tử trong mảng và vector

Các hàm thao tác trên đoạn trong thư viện <algorithm> trong C++ thường sử dụng các tham số là địa chỉ. Trong quá trình lập trình, mỗi biến được tạo ra sẽ có một địa chỉ cụ thể trong bộ nhớ. Việc sử dụng các biến địa chỉ giúp chúng ta truy cập và thao tác với giá trị của biến đó. Đối với mảng và vector, ta có cách truy cập nhanh tới địa chỉ của các phần tử như sau:

Đối với mảng:

Đối với vector:

3. Sắp xếp cơ bản

Xét mảng gồm n phần tử:

a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]

Cách dùng cơ bản nhất của hàm sort() là sắp xếp tăng dần các phần tử từ vị trí i đến vị trí j (lưu ý ở đây ta xét mảng bắt đầu từ vị trí 0):

Ngoài ra đối với một số kiểu dữ liệu khác, như vector, ta có thể sử dụng câu lệnh như sau:

Ví dụ tham khảo:

4. Sắp xếp theo thứ tự giảm dần

Chúng ta có thể sắp xếp các phần tử theo thứ tự giảm dần bằng cách truyền tham số comp vào con trỏ hàm của hàm sort() như sau:

Vẫn còn nội dung phía dưới, bạn hãy ấn nút để xem tiếp nhé...