Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

การเรียงลำดับโครงสร้างใน C++


ที่นี่เราจะมาดูวิธีการจัดเรียงโดยใช้เงื่อนไขบางอย่างกับตัวแปรสมาชิกของโครงสร้างใน C ++ ในตัวอย่างนี้ เราจะใช้โครงสร้างที่เรียกว่า book หนังสือจะมีชื่อ จำนวนหน้า และราคา เราจะจัดเรียงตามราคา

สำหรับการเปรียบเทียบโครงสร้างทั้งสอง เราต้องกำหนดฟังก์ชัน ฟังก์ชันนี้จะเปรียบเทียบกับพารามิเตอร์เหล่านี้ ฟังก์ชันการเปรียบเทียบนี้ใช้ภายในฟังก์ชัน sort เพื่อจัดเรียงค่า

ตัวอย่าง

#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;
   }
}

ผลลัพธ์

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