.
5.2.2 ¼¯ºÏ¾º¼Û
¼¯ºÏ¾º¼ÛÊÇÖ¸¶ÔËùÓÐÓÐЧίÍнøÐм¯Öд¦Àí£¬Éî¡¢»¦Á½Êеļ¯ºÏ¾º¼Ûʱ¼äΪ½»Ò×ÈÕÉÏÎç9£º15ÖÁ9£º25¡£
¼¯ºÏ¾º¼ÛÔÔò£º
? ? ? ?
¼¯ºÏ¾º¼Û·ÖËIJ½Íê³É£º
µÚÒ»²½£ºÈ·¶¨ÓÐЧίÍÐÔÚÓÐÕǵø·ùÏÞÖÆµÄÇé¿öÏ£¬ÓÐЧίÍÐÊÇÕâÑùÈ·¶¨µÄ£º ¸ù¾Ý¸Ãֻ֤ȯÉÏÒ»½»Ò×ÈÕÊÕÅ̼ÛÒÔ¼°È·¶¨µÄÕǵø·ù¶ÈÀ´¼ÆËãµ±ÈÕµÄ×î¸ßÏÞ¼Û¡¢ ×îµÍÏÞ¼Û¡£ÓÐЧ¼Û¸ñ·¶Î§¾ÍÊǸÃֻ֤ȯ×î¸ßÏÞ¼Û¡¢×îµÍÏÞ¼ÛÖ®¼äµÄËùÓмÛλ¡£
ÏÞ¼Û³¬³ö´Ë·¶Î§µÄίÍÐΪÎÞЧίÍУ¬ÏµÍ³×÷×Ô¶¯³·µ¥´¦Àí¡£
µÚ¶þ²½£ºÏµÍ³¸ù¾Ý¾º¼Û¹æÔò×Ô¶¯È·¶¨¼¯ºÏ¾º¼ÛµÄ³É½»¼Û£¬Õâ¸ö¼Û¸ñ¾ÍÊǵ±ÈյĿªÅ̼ۣ¬ ËùÓиßÓÚ¿ªÅ̼۵ÄÂòÅ̺ÍËùÓеͿª¿ªÅ̼۵ÄÂôÅ̾ùÒԴ˼۸ñ³É½»£¬ ¼¯ºÏ¾º¼ÛµÄ³É½»¼ÛÈ·¶¨ÔÔòÊÇ£ºÒԴ˼۸ñ³É½»£¬Äܹ»µÃµ½×î´ó³É½»Á¿¡£
µÚÈý²½£º¼¯ÖдéºÏ´¦ÀíËùÓеÄÂòίÍа´ÕÕίÍÐÏÞ¼ÛÓɸߵ½µÍµÄ˳ÐòÅÅÁУ¬ ÏÞ¼ÛÏàͬÕß°´ÕÕ½øÈëϵͳµÄʱ¼äÏȺóÅÅÁУ»ËùÓÐÂôίÍа´Î¯ÍÐÏÞ¼ÛÓɵ͵½¸ßµÄ˳ÐòÅÅÁÐ £¬ ÏÞ¼ÛÏàͬÕß°´ÕÕ½øÈëϵͳµÄʱ¼äÏȺóÅÅÁС£ÒÀÐòÖð±Ê½«ÅÅÔÚÇ°ÃæµÄÂòίÍÐÓëÂôίÍÐÅä¶Ô³É½»£¬¼´°´ÕÕ\¼Û¸ñÓÅÏÈ£¬Í¬µÈ¼Û¸ñÏÂʱ¼äÓÅÏÈ\µÄ³É½»Ë³ÐòÒÀ´Î
¾«Ñ¡·¶±¾
·²ÊǸßÓÚ¿ªÅ̼۵ÄÂòµ¥Ò»¶¨³É½»£» ·²ÊǵÍÓÚ¿ªÅ̼۵ÄÂôµ¥Ò»¶¨³É½»£» ·²ÊǸßÓÚ¿ªÅ̼۵ÄÂôµ¥Ò»¶¨²»³É½»£» ·²ÊǵÍÓÚ¿ªÅ̼۵ÄÂòµ¥Ò»¶¨²»³É½»£»
.
³É½»£¬Ö±ÖÁ³É½»Ìõ¼þ²»Âú×ãΪֹ£¬¼´²»´æÔÚÏÞ¼Û¸ßÓÚµÈÓڳɽ»¼ÛµÄ½ÐÂòίÍС¢»ò²»´æÔÚÏÞ¼ÛµÍÓÚµÈÓڳɽ»¼ÛµÄ½ÐÂôίÍС£
ËùÓгɽ»¶¼ÒÔͬһ³É½»¼Û³É½»¡£ Õâͬһ³É½»¼Û³É½»µÄÂòÂôµ¥Ò»°ãÁ¿¶¼ÊǺܴóµÄ£¬Èçͼ3.2.3Ëùʾ
Âô¶ÓÁпªÅÌ´éºÏÂò¶ÓÁÐ
ͼ3.2.3Ëùʾ
µÚËIJ½£ºÐÐÇé½Òʾ£º
1.)
Èç¸Ãֻ֤ȯµÄ³É½»Á¿ÎªÁ㣬Ôò½«³É½»¼Ûλ½ÒʾΪ¿ªÅ̼ۡ¢×î½ü³É½»¼Û¡¢×î¸ß¼Û¡¢×îµÍ¼Û£¬²¢½Òʾ³ö³É½»Á¿¡¢³É½»½ð¶î¡£
2.)
Ê£ÓàÓÐЧίÍÐÖУ¬Êµ¼ÊµÄ×î¸ß½ÐÂò¼Û½ÒʾΪ½ÐÂò½Òʾ¼Û£¬Èô×î¸ß½ÐÂò¼Û²»´æÔÚ£¬Ôò½ÐÂò½Òʾ¼Û½ÒʾΪ¿Õ£»Êµ¼ÊµÄ×îµÍ½ÐÂô¼Û½ÒʾΪ½ÐÂô½Òʾ¼Û£¬Èô×îµÍ½ÐÂô¼Û²»´æÔÚ£¬Ôò½ÐÂô½Òʾ
¾«Ñ¡·¶±¾
.
¼Û½ÒʾΪ¿Õ¡£
¼¯ºÏ¾º¼ÛÖÐδÄܳɽ»µÄίÍУ¬×Ô¶¯½øÈëÁ¬Ðø¾º¼Û¡£
°´ÕÕÕâÑùµÄÔÔòºÍÒªÇó£¬ÎÒÃÇÉè¼ÆÁËÈçÏµļ¯ºÏ¾º¼Û´éºÏËã·¨¡£Èçͼ3.2.4Ëùʾ¡£
¾«Ñ¡·¶±¾
.
BuyQueue[ ]ÅжÏÁ½¶ÓÁÐÊÇ·ñ¶¼²»Îª¿ÕÊÇ·ñСÓÚ0¿ªÅ̼ÛΪ×òÈÕÊÕÅ̼ۣ¬³É½»Á¿Îª0SellQueue[ ]Åжϲî¼Û BuyQueue[0].price-SellQueue[0].price´óÓÚµÈÓÚ0i=j=0, M¡¢N·Ö±ðΪBuyQueue[ ]ÓëSellQueue[ ]·Ç¿ÕÔªËØµÄÊýÄ¿; BOOL k; Buy=BuyQueue[0]; Sell=SellQueue[0]Åжϲî¼Û BuyQueue[i].price-SellQueue[j].price´óÓÚµÈÓÚ0ÅжϲîÁ¿Buy.count-Sell.countСÓÚµÈÓÚ0i++; k=false; Buy1.count=Buy.count; Buy.count=Buy.count+BuyQueue[i].count;ÊÇÅжÏÊÇ·ñi ¾«Ñ¡·¶±¾ . ¼¯ºÏ¾º¼ÛËã·¨ÃèÊö£º ºÍÁ¬Ðø¾º¼ÛÒ»Ñù£¬Ê×ÏÈÉ趨QueueStruct½á¹¹ÎªÔªËصÄÂòÂôÁ½¸ö¶ÓÁÐBuyQueueºÍSellQueue¡£ ΪÁ˾¡¿ÉÄܵÄÌá¸ßЧÂÊ£¬¼õÉÙ×ÊÔ´Õ¼Óã¬ÎÒÃÇÓþ²Ì¬Êý×é¹¹½¨ÕâÁ½¸ö¶ÓÁС£ ÆäÖÐBuyQueueÊÇʱ¼äÓÅÏÈ¡¢Âò¼Û½µÐòÅÅÐò£¬¶øSellQueueÊÇʱ¼äÓÅÏÈ¡¢Âô¼ÛÉýÐòÅÅÐò¡£ÔÚ¿ªÊе½¿ªÅÌÕâ¶Îʱ¼äÄÚ£¬ÂòÂôµ¥ÒѾ·Ö±ð½øÈëÁËÂòÂô¶ÓÁÐÄÚÅźÃÁËÐò¡£ Ò»µ©Ðû²¼¿ªÅÌ£¬Ôò´¥·¢¼¯ºÏ´éºÏ£¬ÈçÏ£º ? ? ÅжÏÁ½¶ÓÁÐÊÇ·ñ¶¼²»Îª¿Õ£¬ÈçÊÇ£¬×ª2£»Èç·ñ£¬×ª21£» ÅжÏBuyQueue[0].princeÓëSellQueue[0].princeÖ®²î£¬Èç´óÓÚµÈÓÚ0£¬×ª3£ºÈçСÓÚ0£¬×ª21£» ? ¶¨Òåint i=j=0£»M¡¢N·Ö±ðΪÂòÂôÁ½¶ÓÁзǿÕÔªËØµÄ¸öÊý£»BOOL k£»QueueStruct Buy=BuyQueue[0]£»Sell=SellQueue[0]£»Buy1£»Sell1£»×ª4£» ? ÅжÏBuyQueue[i].princeÓëSellQueue[j].princeÖ®²î£¬Èç´óÓÚµÈÓÚ0£¬×ª5£ºÈçСÓÚ0£¬×ª14£» ? ÅжÏBuy.countÓëSell.countÖ®²î£¬Èç´óÓÚ0£¬×ª6£»ÈçСÓÚµÈÓÚ0£¬×ª9£» ? j++£» k=true£» Sell1.count=Sell.count£» Sell.count=Sell.count+SellQueue[iSellQueue].count£»×ª7£» ¾«Ñ¡·¶±¾