ºìÁªLinuxÃÅ»§
Linux°ïÖú

ǶÈëʽ³£ÓÃÊý¾Ý½á¹¹------¶ÓÁвÙ×÷¼ò½é

·¢²¼Ê±¼ä:2014-10-08 17:06:00À´Ô´:ºìÁª×÷Õß:edu118gct
¶ÓÁÐÊÇǶÈëʽÈí¼þÖг£ÓõÄÒ»ÖÖÊý¾Ý½á¹¹¡£Ê²Ã´ÊǶÓÁÐÄØ£¿ÔÚÉú»îÖУ¬ÎÒÃǶ¼ÖªµÀ

£¬Âò¶«Î÷ʱҪÅŶӣ¬±ÈÈç×î½üiphone6¿ªÊÛÁË£¬ÂòµÄÈ˱Ƚ϶࣬»ÆÅ£µ¹ÊÖ»úÒ²ÒªÅŶÓ

Âò¡£ÏÈÀ´µÄÈËÅÅÔÚ¶ÓÎéµÄÇ°Ã棬ÓÅÏȹºÂò£¬¹ºÍêºóÀ뿪£¬ºóµ½µÄÈËÖ»ÓÐÅÅÔÚ¶ÓÎéµÄ

ºóÃ棬ÇÒÖ»ÓеÈÇ°ÃæµÄÈ˶¼ÂòºÃÁ˲ÅÄÜÂÖµ½Ëû¡£ÕâÖÖ¶ÓÎéµÄ±ä»¯×´Ì¬³ÆΪÊý¾Ý½á¹¹

¡£
½ñÌìÎÒÃǾÍÀ´ÁÄÒ»ÁĶÓÁеÄʹÓü°Ö÷ÒªÔËËã¡£¶ÓÁÐÖ»ÄÜÔÚÒ»¶Ë£¨¶Ó⣩½øÈëÊý¾Ý¼Ó

È룬ÔÚÁíÒ»¶Ë£¨¶ÓÊ×£©½øÐÐɾ³ýµÄÊý¾Ý½á¹¹¡£±ÈÈç¶ÔÓÚ¶ÓÁУ¨d1,d2,d3,¡­,dn£©,d1

ÊǶÓÊ×£¬Èç¹ûÒª´Ó¶ÓÁÐÖÐɾ³ýÊý¾Ý£¬Ö»ÄÜ´Ód1¿ªÊ¼£¬Èç¹ûÒªÏò¶ÓÁÐÖÐÌí¼ÓеÄÊý¾Ý

£¬Ö»ÄÜÔÚ¶Óβ¼ÓÈë¡£
¶ÓÁпÉÒÔͨ¹ýһάÊý×éʵÏÖ£¬Ò²¿ÉÒÔͨ¹ýÁ´±íÀ´ÊµÏÖ£¬ÎÒÃÇÒÔʹÓÃÊý×éÀ´ËµÃ÷¡£±È

ÈçÎÒÃÇ¿ÉÒÔ¶¨ÒåÒ»¸öÊý×éa[100]±íʾ×î´ó³¤¶ÈΪ100µÄ¶ÓÁС£µ±Ïòн¨µÄ¶ÓÁÐÖмÓÈë

Êý¾Ýʱ£¬´Óa[0]¿ªÊ¼£¬È»ºó¼Ç¼¼ÓÈëµÄλÖ㬵±ÔÙ´ÎÏò¶ÓÁÐÖмÓÈëÊý¾Ýʱ£¬´æ·ÅÔÚ

a[1]ÖУ¬ÒÀ´ÎÀàÍÆ¡£¼ÙÈçÒ»Ö±Ïò¶ÓÁÐÖмÓÈëÊý¾Ý£¬µ±Ïòa[99]¼ÓÈëÁËÊý¾ÝÖ®ºó£¬¶ÓÁÐ

ÂúÁË¡£²»ÄÜÔÚÖ®ºó¼ÌÐø¼ÓÈëеÄÊý¾Ý¡£¼ÙÈçÏÖÔÚÐèÒª´Ó¶ÓÁÐÖÐÈ¡Êý¾Ý£¬Òª´Óa[0]¿ª

ʼ£¬Ï´ÎÈ¡a[1],ÒÀ´ÎÀàÍÆ¡£
ÕâÑùʹÓõÄÊý×飬Èç¹û²»½øÐÐһЩÆäËûµÄÔËË㣬Êý×é×îÖջᱻÓÃÍê¡£Ò»°ãÎÒÃÇÔÚʹ

ÓÃʱ£¬µ±¶Óβ´ïµ½Êý×é½áβʱ£¬½«¶ÓβÖØÐÂÖ¸ÏòÊý×éµÄ¿ªÊ¼£¬ÕâÑùµÄ¶ÓÁгÆΪѭ»·

¶ÓÁС£
ÔÚʹÓöÓÁÐʱ£¬Ö÷Òª»áÉæ¼°µ½ÒÔÏÂÔËËã¡£
1¡¢ÖÿնÓÁУº½«¶ÓÁÐÖóɿյĶÓÁС£
2¡¢Åж϶ÓÁÐÊÇ·ñ¿Õ£ºÈç¹û¶ÓÁÐÊÇ¿Õ¶ÓÁУ¬·µ»ØÕ棬·ñÔò·µ»Ø¼Ù¡£
3¡¢È¡Í·½áµã£º¶ÁÈ¡¶ÓÁÐÖÐÍ·½áµãµÄÖµ£¬¶ÓÁÐÖеĽáµã±£³Ö²»±ä¡£
4¡¢Èë¶Ó£º½«Êý¾Ý²åÈëµ½¶ÓÁеĶÓβ¡£
5¡¢³ö¶Ó£ºÉ¾³ý¶ÓÁÐÍ·½áµã£¬Ò»°ãÓë´Ó¶ÓÁÐÖÐÈ¡¶ÓÊ×Êý¾Ýͬʱ²Ù×÷¡£
¶ÓÁпպÍÂúµÄÇé¿ö·ÖÎö
¶ÔÓÚÑ­»·¶ÓÁÐÀ´Ëµ£¬¼ÙÈçÈ¡Êý¾ÝºÍÌí¼ÓÊý¾Ýͬʱ½øÐУ¬»á´æÔÚ¶ÓÁпջòÕ߶ÓÁÐÂúµÄ

Çé¿ö£¬¼ÙÈçÓÃfrontÀ´±íʾ¶ÓÊ×ÔÚÊý×éÖеÄϱ꣬ÓÃrear±íʾ¶ÓβÔÚÊý×éÖеÄϱꡣ

»á´æÔÚfrontºÍrearÏàµÈµÄÇé¿ö£¬ÔÚÕâÖÖÇé¿öÏ£¬Ö»ÓÃfrontºÍrearµÄÖµ½«ÎÞ·¨Çø·Ö

µ±Ç°¶ÓÁÐÊÇÂú»¹ÊÇ¿Õ¡£
ͨ³£ÎÒÃÇ¿ÉÒÔÉèÖÃÒ»¸ö±ê־λÀ´±íʾ¶ÓÂú»¹ÊǶӿգ¬µ±Èë¶ÓʱÉèÖÃflagµÈÓÚ1£¬³ö¶Ó

ʱÉèÖÃflagΪ0£¬³ö¶ÓʱÉèÖÃΪ0£¬ËùÒÔµ±frontºÍrearÏàµÈʱ£¬flagµÈÓÚ0Ôò¶Ó¿Õ£¬

·ñÔò¶ÓÂú¡£ÉîÛÚ-Ö£ÖÝ-¹ãÖÝ-³¤É³Ç¶Èëʽ¼¼Êõʵѵѧϰ£¬Ð¡°àÊڿΣ¬ÏêÇé¹ùÀÏʦ

QQ754634522
»òÕßʹÓÃÒ»¸ö¼ÆÊýÆ÷À´¼Ç¼¶ÓÁÐÖнáµãµÄÊýÁ¿¡£µ±¼ÆÊýcountµÈÓÚ0ʱ¶Ó¿Õ¡£
ͬÑùÎÒÃÇÒ²¿ÉÒÔÉÙÓÃÒ»¸ö½Úµã£¬½«frontÖ¸ÏòµÄ¿Õ¼ä±íʾΪÎÞÊý¾Ý¡£µ±frontµÈÓÚ

rearʱ£¬¶Ó¿Õ£¬Èë¶Óʱ£¬µ±Î²Ö¸Õë¼Ó1£¬µÈÓÚÍ·Ö¸Õ룬Ôò˵Ã÷¶ÓÁÐÒÑÂú¡£

ÏÂÃæÎÒÃÇʹÓõÚÈýÖÖ·½·¨±íʾ¶ÓÂú»ò¶Ó¿Õ£¬À´Ïêϸ·ÖÎöһ϶ÓÁеÄÔËËã
1¡¢ÖÿնÓ
ÔÚ¶ÓÁгõʼ»¯Ê±£¬ÎÒÃÇÐèÒª½«¶ÓÁÐÖÃΪ¿ÕµÄ¶ÓÁУ¬µ±È»Ò²¿ÉÒÔͨ¹ýÖÿնÓÁÐҲɾ³ý

¶ÓÁÐÖеÄÊý¾Ý£¨²»ÊÇÕæÕýÒâÒåÉϵÄɾ³ý£¬Ö»ÊÇÊý¾ÝÎÞЧ£¬¿ÉÒÔ¸²¸Ç²Ù×÷£©¡£
½«Êý×éϱê0λÖÃÉèÖÃΪ²»Ê¹Óã¬Òò´ËͷβָÕëÖµ¶¼ÊÇ0
void set_null(sequeue *q)
{
q->front = 0;
q->rear =0;
}
2¡¢Åж϶ӿÕ
ʹÓÃÇ°ÃæµÄ×îºóÒ»ÖÖ·½·¨£¬¶Ó¿ÕµÄÅжÏÌõ¼þ¾ÍÊÇÍ·Ö¸ÕëµÈÓÚβָÕë
int empty(sequeue *q)
{
if(q->rear == q->front) return 1;//¿Õ¶ÓÁзµ»ØÕæ
else return 0;//·Ç¿Õ·µ»Ø¼Ù
}
3¡¢È¡Í·½áµã
È¡³öÍ·½áµã£¬²¢²»É¾³ýÍ·½áµã£¬¶ÓÁÐÐÅÏ¢±£³Ö²»±ä£¬Èç¹ûÊÇ¿Õ¶Ó£¬¾ÍÌáʾÏà¹ØÐÅÏ¢

¡£
get_front(sequeue *q)
{
if(empty(q)
{
printf(¡°null\n¡±);return NULL;
}
else
return q->data[(q->front+1)%maxsize];//·µ»ØÍ·½áµã
}
4¡¢Èë¶Ó
Èë¶Óʱ£¬½«Ð½áµã²åÈëµ½¶Ó⣬¶ÓβָÕë¼Ó1£¬µ«Òª¿¼ÂÇ´ÓÊý×é×î´óϱ굽0µÄÇé¿ö

£¬»¹ÓжÓÂú²»ÄÜÈë¶ÓµÄÇé¿ö
int in_queue(sequeue *q,data x)
{
if((q->rear+1)%maxsize==q->front)
return NULL;
else
{
q->rear = (q->rear+1)%maxsize;
q->data[q->rear] = x;
}
}
5¡¢³ö¶Ó
³ö¶Ó½øÐÐÓëÈë¶ÓÏà·´µÄ²Ù×÷£¬ÒªÉ¾³ý¶ÓÁÐÖеÄÍ·½áµã¡£
data del_queue(sequeue *q)
{
if(empty(q)
return NULL;//·µ»Ø¿ÕÖ¸Õë
else
{
q->front = (q->front+1)%maxsize;
return q->data[q->front];
}
}
ÔÚʵ¼ÊÓ¦ÓÃÖУ¬¶ÓÁÐʹÓõıȽ϶àµÄµØ·½ÊDzÙ×÷ϵͳÄںˣ¬µ±ÏµÍ³ÈÎÎñ±È½Ï¶àʱ£¬

ÐèÒªµÈ´ýµÄÇé¿öÒ»°ã¶¼»áʹÓõ½¶ÓÁУ¬ÔÚÂã»ú¿ª·¢ÖУ¬ÎÒÃÇÒ²¿ÉÒÔʹÓöÓÁУ¬±ÈÈç

ʹÓöÓÁÐÀ´´¦Àí´¥ÃþÆÁ×ø±ê£¬µ±µã»÷Ëٶȹý¿ì£¬»òÕß´¥ÃþÆÁ»®¶¯²Ù×÷ʱ£¬ÐèÒªÒ»Ö±

¼Ç¼»®¹ýµÄ×ø±ê£¬Õâʱ£¬Èç¹ûÖ÷Ñ­»·´¦Àí²»Í꣬¾ÍÐèÒª¹¹Ôì¶ÓÁС£ÏëѧϰǶÈëʽ»ï°é¿ÉÒÔ¼ÓȺ½»Á÷132621831
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 2 ÌõÆÀÂÛ

  1. ledian821 ÓÚ 2015-03-29 09:37:08·¢±í:

    ºÃÊé

  2. california ÓÚ 2014-10-09 08:46:20·¢±í:

    ѧϰÏÂ