Êý¾Ý½á¹¹¿Î³ÌÉè¼Æ±¨¸æ£¨ÍêÕû°æ±¾£©

Êý¾Ý½á¹¹¿Î³ÌÉè¼Æ±¨¸æ(ÍêÕû°æ±¾)-

/*

µÚ°ËÌ⣺Ñо¿ÉúÈëѧ¿¼ÊԳɼ¨´¦Àí

1¡¢ÐèÇó·ÖÎö£º

¼ÙÉèij´óѧ¼ÆËã»úÓ¦Óü¼ÊõרҵÕÐÊÕÑо¿ÉúnÃû£¬ÏÖÔÚÒª¸ù¾Ý±¨¿¼ÕߵĿ¼ÊԳɼ¨ÔñÓżȡ¡£¿¼ÊԿγÌÓÐÕþÖΡ¢Ó¢Óï¡¢Êýѧ¡¢×¨Òµ×ÛºÏËÄÃÅ¡£¿¼ÊԳɼ¨·ÖΪÁ½ÀࣺµÚÒ»ÀàΪÿÃſγ̶¼´ïµ½×îµÍ¼ȡÏߣ»µÚ¶þÀàΪÓÐÒ»ÃÅ»ò¶àÃſγÌδ´ïµ½×îµÍ¼ȡÏß¡£Â¼È¡·½·¨ÊÇÔÚÿÃſγ̴ﵽ×îµÍ¼ȡÏߵĿ¼ÉúÖа´×ִܷӸߵ½µÍ¼ȡ¡£ÊÔÉè¼ÆÒ»¸ö³É¼¨´¦Àí³ÌÐòʵÏÖÒÔÉϹ¦ÄÜ¡£

¸ù¾Ý¼ȡ·½·¨£¬´òÓ¡Êä³ön·Ý¼ȡ֪ͨÊ飬Áгö¼ȡÕßËÄÃſγ̵ijɼ¨¼°×Ü·Ö£¨ÒªÇó²ÉÓöÑÅÅÐò£©¡£²¢ÄÜʵÏÖ¶ÔÈÎÒ»¿¼Éú»òÈÎÒ»Ãſγ̳ɼ¨µÄ²éÕÒ£¨ÒªÇóÁ½ÖÖ²éÕÒ·½Ê½£¬¸ù¾Ý¿¼ºÅ»òÐÕÃû½øÐвéÕÒ£¬²ÉÓøßЧµÄ²éÕÒËã·¨£©¡£Â¼È¡Í¨ÖªÊéµÄ¸ñʽÈçÏ£º

2¡¢Éè¼Æ 2£®1Éè¼Æ˼Ï룺 £¨1£©Êý¾Ý½á¹¹Éè¼Æ

ÓÉÓÚ±¾ÌâÃ÷È·ÒªÇóÔÚ½øÐÐÅÅÐòʱ±ØÐë²ÉÓÃÍÆÅÅÐòµÄËã·¨£¬¶ø¶ÑÅÅÐò×î³£²ÉÓõÄÊý¾Ý´æ´¢½á¹¹±ãÊÇ˳Ðò±í´æ´¢½á¹¹£¬Òò´ËÔÚÎÒµÄÉè¼ÆÖÐÊDzÉÓõĽṹÌåÊý×齫¸÷¸öѧÉúµÄÐÅÏ¢½øÐд洢£¬Í¬Ê±ÕâÒ²·½±ãÅÅÐòËã·¨µÄʵÏÖ¡£

typedef struct { string name; int Politics; int English; int Mathematics; int Major; int Total; string Num; }Student;

21 / 33

Êý¾Ý½á¹¹¿Î³ÌÉè¼Æ±¨¸æ(ÍêÕû°æ±¾)-

£¨2£©Ëã·¨Éè¼Æ

ÓÉÓÚÌâÄ¿ÒªÇó±¾³ÌÐòµÄ²éÕÒÊÇÕë¶Ô¿¼ºÅºÍÐÕÃûÁ½ÖÖ·½Ê½½øÐвéÕҵģ¬¶ø²»ÊÇÕë¶ÔÏàÓ¦µÄ¿É±È½ÏµÄÊý¾Ý½øÐвéÕÒ£¬ËùÒÔÏñ¶þ²æ²éÕҺͶþ²æÅÅÐòÊ÷ÕâЩ²éÕÒ·½·¨»ù±¾¶¼Óò»ÉÏ£¬Òò´Ë±¾³ÌÐò²ÉÓõÄÊÇ¡°ÂùÁ¦¡±²éÕҵķ½·¨£¬¼°¶ÔÕû¸ö½á¹¹ÌåÊý×é½øÐбéÀú£¬¶øÓëÒª²éÕÒµÄÐÅÏ¢Ò»Ò»½øÐжԱȣ¬Ö»²»¹ýÔÚ½øÐбȽϵĹý³ÌÖÐÓõÄÊÇstringÀàÖеÄÖØÔØ¡°=¡±£¬ÕâÑù¸ü¼ÓµÄ·½±ã¿ì½Ý¡£ ¶ø¶ÑÅÅÐòµÄËã·¨£¬ÓÉÓÚѧÉú³É¼¨µÄ¼ȡÊÇÒ»¸ö´Ó¸ß·Öµ½µÍ·ÖÅÅÐòµÄ¹ý³Ì£¬Òò´ËÍÆÅÅÐòµÄËã·¨¾ÍÊÇÒ»¸ö½¨Á¢¡°´ó¶¥¶Ñ¡±µÄ¹ý³Ì¡£

2.2Éè¼Æ±íʾ £¨1£©¡¢º¯Êýµ÷ÓùØϵͼ¼°Æä˵Ã÷ÈçÏ :

(2)º¯Êý½Ó¿Ú˵Ã÷£º

22 / 33

Êý¾Ý½á¹¹¿Î³ÌÉè¼Æ±¨¸æ(ÍêÕû°æ±¾)-

ÓÉÓÚ¸öÈ˵Äϲ°®²»Í¬£¬¶ø±¾ÈËÔÚ²ÎÊý´«µÝµÄ¹ý³ÌÖÐϲ»¶ÓÃÒýÓúÍÖ¸Õë½øÐд«µÝ£¬Òò´Ë±¾³ÌÐòÓõÄÊÇÖ¸Õë½øÐд«µÝ£¬Òò¶øÿ¸ö²ÎÊý¶¼Ï൱ÓÚÈ«¾Ö±äÁ¿£¬ÕâÑùÔÚ½Ó¿Ú·½Ãæ·½±ã¶øÇÒ²»ÓÃÖØпª±ÙÆäËûµÄ¿Õ¼ä¡£

Ö÷Òªº¯ÊýÈçÏÂ:

Int HeapAdjust(Student (&S_USE)[MAX_SIZE],int s,int m);//¶ÑÅÅÐò

int HeapSort(Student (&S_USE)[MAX_SIZE]);//µ÷Õû int PanDuan(Student (&S_ALL)[MAX_SIZE],Student (&S_USE)[MAX_SIZE],Student (&S_UNUSE)[MAX_SIZE]);//ÅжϸÃÑо¿ÉúÊÇ·ñÓмȡ×ʸñ ²ÅÄܽøÐжÑÅÅÐò

int Find(Student (&S_ALL)[MAX_SIZE]);//²éÕҳɼ¨ int Display();//Êä³ö³É¼¨µ¥

int PutIn(Student &S);//³É¼¨Â¼Èë 2.3ÏêϸÉè¼Æ

ÓÉÓÚ²éÕÒµÄËã·¨ÊÇÓõġ°ÂùÁ¦¡±µÄËã·¨£¬¶ø¶Ô³É¼¨µÄ¼ÈëÒ²·Ç³£µÄ¼òµ¥£¬Òò´ËÏêϸÉè¼ÆÕâÒ»¿éÖ÷Ҫ˵˵¶ÑÅÅÐòµÄÏêϸÉè¼ÆËã·¨¡£

¶ÑÅÅÐòµÄÏêϸÉè¼Æ·ÖÎö£ºÊ×ÏÈÌâÄ¿ÒªÇóÊÇ°´ËÄÃſγ̵Ä×Ü·Ö½øÐÐÅÅÐò£¬ÓÉ´ËÎÒÃÇÖªµÀÎÒÃÇÒª½¨Á¢µÄ¶ÑÊÇÒ»¸ö¡°´ó¶¥¶Ñ¡±£¬¶ø½¨¶Ñ¹ý³ÌÖÐÖ÷Òª½â¾öµÄÁ½¸öÎÊÌâÊÇ£º£¨1£©ÈçºÎÓÉÒ»¸öÎÞÐòÐòÁн¨³ÉÒ»¸ö¶Ñ£¿£¨2£©ÈçºÎÔÚÊä³ö¶ÑÔªËØÖ®ºó£¬µ÷ÕûÊ£ÓàµÄÔªËسÉΪһ¸öеĶѣ¿ÔÚÎÞÐòÐòÁн¨Á¢¶ÑµÄ¹ý³ÌÖÐÔÚÎҵijÌÐòÖÐÊÇÓÃHeapAdjust()Õâ¸öº¯ÊýʵÏֵģ¬½«½¨¶ÑµÄ¹ý³Ì¿´×öÊÂÒ»¸ö·´¸´É¸Ñ¡µÄ¹ý³Ì£¬ÔòÖ»Ðè´Ó´Ó×îºóÒ»¸ö·ÇÖն˶ϵãn/2µÄϽ翪ʼÏòÇ°Ò»´Î½øÐÐɸѡ£¬ÈôËù±È½ÏµÄÔªËرÈÆäºó¼ÌµÄÔªËØҪСÔò²»ÐèÒª½øÐн»»»£¬·ñÔòÐèÒª¸ÃÔªËØÓëÆ丸½Úµã½øÐн»»»¡£¼´¸Ã¹ý³ÌÖÐÿһ²½¶¼Êǽ«¶þ²æÊ÷µÄ×ÓÊ÷½¨Á¢³ÉÒ»¸öС¶¥¶ÑµÄ¹ý³Ì£¬ÕâÖ÷ÒªÊÇ·½±ãÔÚºóÃæµ÷ÕûµÄ¹ý³ÌÖн«¶Ñ¶¥ÔªËغÍ×îºóÒ»¸öÔªËؽøÐн»»»£¬¼´½«Æä´Ó´óµ½Ð¡ÅÅÐòµÄ¹ý³Ì¡£

int HeapAdjust(Student (&S_USE)[MAX_SIZE],int s,int m) { Student rc; int j; rc=S_USE[s]; for(j=2*s;j<=m;j*=2) { if(jS_USE[j+1].Total)) j++; if(rc.Total

¶øµ÷ÕûµÄ¹ý³Ì±È½Ï¼òµ¥£¬¼´½«¶Ó¶Ñ¶¥µÄÔªËØÓë˳Ðò±íµÄ×îºóÒ»¸öÔªËØ

23 / 33

Êý¾Ý½á¹¹¿Î³ÌÉè¼Æ±¨¸æ(ÍêÕû°æ±¾)-

½øÐн»»»£¬È»ºó½«Ê£ÏµÄÔªËؽ¨¶ÑµÄÒ»¸ö¹ý³Ì£¬Ö÷Òªº¯ÊýʵÏÖÈçÏ£º

int HeapSort(Student (&S_USE)[MAX_SIZE]) { int i; Student tmp; for(i=count_U;i>=0;i--) S_USE[i]=S_USE[i-1]; //cout<<\ for(i=count_U/2;i>0;i--)//Òª²»Òª¼õÒ» ÏȼÇÔÚÕâÀï HeapAdjust(S_USE,i,count_U); for(i=count_U;i>1;i--) { tmp=S_USE[1]; S_USE[1]=S_USE[i]; S_USE[i]=tmp; HeapAdjust(S_USE,1,i-1); } for(i=0;i

3¡¢µ÷ÊÔ·ÖÎö

Ó¡Ïó×îÉî¿ÌµÄÊÇÔÚ¶þ²æÊ÷µÄµÚÒ»¸öÔªËØÊÇϱê´Ó1¿ªÊ¼£¬¶ø˳Ðò±íµÄÊý×éµÄϱêÊÇ´Ó0¿ªÊ¼£¬Õâ¸öϸ½Ú×ܻᵼÖÂÄÚ´æ³ö´í£¬×îºóͨ¹ýÔÚ¶ÑÅÅÐò¹ý³ÌÖУ¬ÏȽ«Êý×éºóÒÆ£¬ÅÅÐòÍêºó½«Êý×éÔÚÇ°Òƽâ¾öÁËÕâ¸öÎÊÌ⣬Òò´ËÓ¡Ïó½ÏΪÉî¿Ì£¬ÆäËûµÄµ÷ÊÔ´íÎó£¬Ò»°ã¶¼ÊÇÔÚ³ÌÐò²âÊԵĹý³ÌÖÐÒ»Ò»¸ÄÕý£¬ÎÊÌâ²»´ó¡£

4¡¢Óû§ÊÖ²á

µã»÷ÔËÐгÌÐò£¬ÔÚµ¯³öµÄ´°¿ÚÖУ¬»áÌáʾҪÊäÈëµÄÐÅÏ¢£º 7¡¢ Ê×ÏÈÌáʾÊäÈëµÄÊÇѧÉúµÄ¸öÊý£º´ËʱÊäÈëÄãËùÐèÒªÊäÈëµÄѧ

ÉúµÄ¸öÊý¼´¿É¡£

8¡¢ ÌáʾÐÅϢΪ¡°Çë°´ÕÕѧÉúµÄÐÕÃû¡¢ÕþÖΡ¢Ó¢Óï¡¢ÊýѧºÍרҵ

×ۺϵķÖÊýÒÔ¼°¿¼ºÅÒÀ´Î½øÐÐÊäÈ롱£º°´ÕÕѧÉúµÄÐÅÏ¢Ò»Ò»½øÐÐÊäÈë¼´¿É

9¡¢ ÌáʾÐÅϢΪ¡°ÇëÊäÈëҪ¼ȡѧÉúµÄ¸öÊý£º¡±´ËʱÓû§ÊäÈëҪ¼

ȡѧÉúµÄ¸öÊý£¬´°¿ÚÖбã»áÏÔʾ³ö¼ȡѧÉúµÄÐÅÏ¢

10¡¢ È»ºó±ãÊDzéÕҵĹý³Ì£¬Óû§°´Ìáʾ½øÐÐÊäÈ룬±ã¿É°´¿¼ºÅºÍ

ÐÕÃûÁ½ÖÖ·½Ê½¶ÔËùÐèÒªµÄÐÅÏ¢½øÐвéÕÒ¡£

5 ²âÊÔÊý¾Ý¼°²âÊÔ½á¹û

ÔÚ²âÊԵĹý³ÌÖÐÎÒÒ»¹²Óõ½ÁËÈçÏÂ26×éÊý¾Ý£º aaa 97 98 85 91 1001 bbb 56 89 45 97 1002

24 / 33

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ì滻Ϊ@)