سوال ۱۱

یکی از مشکلات استفاده از تابع sort‎ برای مرتب کردن عناصر این است که اگر عناصر ما از ساختاری باشند که داده‌های زیادی در آن ذخیره شده، عملیّات مرتب کردن کند می‌شود، چون یکی از اعمالی که در تابع ‎sort‎ انجام می‌شود، جابه‌جا کردن دو عنصر است؛ موقعی که تعداد بایت‌های هر کدام از اشیایی‎ که از ساختار تعریف کرده‌ایم زیاد باشد این عمل زیاد طول می‌کشد، یک روش خوب این است که اشاره‌گرهایی‎ به اشیا نگه داریم، سپس یک تابع برای مقایسه‌ی اشیایی که دو اشاره‌گر به آنها اشاره می‌کنند بنویسیم و از آن برای مرتب کردن اشیا استفاده کنیم. ساختار زیر را در نظر بگیرید:

struct student{‎
   ‎double height‎, ‎mean;‎
   ‎int weight,ncourse;‎
‎};

متغیّر ‎height‎ نشان‌دهنده‌ی قد یک دانشجو، ‎weight نشان‌دهنده‌ی وزن یک دانشجو، ‎mean نشان‌دهنده‌ی معدل یک دانشجو و ‎ncourse‎ نشان‌دهنده‌ی تعداد درس‌هایی‌است که او تا به‌حال گذرانده است‎.

‎ برنامه‌ای بنویسید که اعمال زیر را انجام دهد.