Computer >> Máy Tính >  >> Lập trình >> C ++

Sắp xếp cấu trúc trong C ++

Ở đây chúng ta sẽ xem cách sắp xếp bằng cách sử dụng một số điều kiện trên một số biến thành viên của cấu trúc trong C ++. Trong ví dụ này, chúng ta sẽ sử dụng một cấu trúc có tên là book. Cuốn sách sẽ có tên, số trang và giá cả. Chúng tôi sẽ phân loại chúng dựa trên giá cả.

Để so sánh hai cấu trúc, chúng ta phải xác định một hàm. Hàm này sẽ so sánh chúng với các tham số này. Hàm so sánh này được sử dụng bên trong hàm sắp xếp để sắp xếp các giá trị.

Ví dụ

#include <iostream>
#include<algorithm>
using namespace std;
struct book {
   string title;
   int pages;
   float price;
};
bool compareBook(book b1, book b2) {
   if(b1.price < b2.price) {
      return true;
   } return false;
}
main() {
   book book_arr[5];
   book_arr[0].title = "C Programming";
   book_arr[0].pages = 260;
   book_arr[0].price = 450;
   book_arr[1].title = "DBMS Guide";
   book_arr[1].pages = 850;
   book_arr[1].price = 775;
   book_arr[2].title = "Learn C++";
   book_arr[2].pages = 350;
   book_arr[2].price = 520;
   book_arr[3].title = "Data Structures";
   book_arr[3].pages = 380;
   book_arr[3].price = 430;
   book_arr[4].title = "Learn Python";
   book_arr[4].pages = 500;
   book_arr[4].price = 300;
   sort(book_arr, book_arr + 5, compareBook);
   for(int i = 0; i<5; i++) {
      cout << book_arr[i].title << "\t\t" << book_arr[i].pages << "\t\t" <<
         book_arr[i].price << endl;
   }
}

Đầu ra

Learn Python 500 300
Data Structures 380 430
C Programming 260 450
Learn C++ 350 520
DBMS Guide 850 775