日本三级片电电影

  • <tr id='RuN8OF'><strong id='RuN8OF'></strong><small id='RuN8OF'></small><button id='RuN8OF'></button><li id='RuN8OF'><noscript id='RuN8OF'><big id='RuN8OF'></big><dt id='RuN8OF'></dt></noscript></li></tr><ol id='RuN8OF'><option id='RuN8OF'><table id='RuN8OF'><blockquote id='RuN8OF'><tbody id='RuN8OF'></tbody></blockquote></table></option></ol><u id='RuN8OF'></u><kbd id='RuN8OF'><kbd id='RuN8OF'></kbd></kbd>

    <code id='RuN8OF'><strong id='RuN8OF'></strong></code>

    <fieldset id='RuN8OF'></fieldset>
          <span id='RuN8OF'></span>

              <ins id='RuN8OF'></ins>
              <acronym id='RuN8OF'><em id='RuN8OF'></em><td id='RuN8OF'><div id='RuN8OF'></div></td></acronym><address id='RuN8OF'><big id='RuN8OF'><big id='RuN8OF'></big><legend id='RuN8OF'></legend></big></address>

              <i id='RuN8OF'><div id='RuN8OF'><ins id='RuN8OF'></ins></div></i>
              <i id='RuN8OF'></i>
            1. <dl id='RuN8OF'></dl>
              1. <blockquote id='RuN8OF'><q id='RuN8OF'><noscript id='RuN8OF'></noscript><dt id='RuN8OF'></dt></q></blockquote><noframes id='RuN8OF'><i id='RuN8OF'></i>

                環形隊列

                預留空間環形隊列使用總結

                2019-07-05
                8次瀏覽

                規則1:在隊尾處(tail)存入數據

                規則2:在對首處(head)取出數據。


                初始化▲操作:q->head=0;q->tail=0;q->size=0;

                空隊列:??????? q->head==q->tail ;q->size==0;

                滿隊列:????????(q->tail+1)%MAX_Q_SIZE==q->head;


                入隊操作:??? q->data[q->tail]=inData; q->tail=(q->tail+1)%MAX_Q_SIZE;q->size++;

                出對操作:??? *outData= q->data[q->head];q->head=(q->head+1)%MAX_Q_SIZE;q->size--;



                頭文件:

                //ringQ.h
                #ifndef _R_Q_H_
                #define _R_Q_H_

                #ifdef __cplusplus?
                extern "C" {?
                #endif??

                #include"stdio.h"

                #define MAX_Q_SIZE??(10)
                struct RQ
                {
                ?int?head;
                ?int?tail;
                ?int?size;
                ?int?max;
                ?int?data[10];
                };

                bool?RQ_create(int max);

                int??RQ_push(struct RQ *Q,int data);
                int??RQ_pop(struct RQ *Q,int *val);

                #define IS_EMPTY(Q)?(Q->head==Q->tail)
                #define?IS_FULL(Q)?(((Q->tail+1)%MAX_Q_SIZE)==Q->head)

                #define printQ(q,d) printf("ring head %d,tail %d,data %d\n", q->head,q->tail,d)?

                #ifdef __cplusplus?
                }
                #endif??

                #endif



                實現文件:

                //q.c
                #include"q.h"

                struct RQ RQ1;
                int main(void)
                {
                ?int qData;
                ?
                ?RQ_create(MAX_Q_SIZE);
                ?
                ?RQ_push(&RQ1,1);
                ?RQ_push(&RQ1,2);
                ?
                ?RQ_push(&RQ1,3);
                ?RQ_push(&RQ1,4);?
                ?
                ?RQ_push(&RQ1,5);
                ?RQ_push(&RQ1,6);
                ?
                ?RQ_push(&RQ1,7);
                ?RQ_push(&RQ1,8);
                ?
                ?RQ_pop(&RQ1,&qData);
                ?RQ_pop(&RQ1,&qData);
                ?RQ_push(&RQ1,9);
                ?RQ_push(&RQ1,10);
                ?RQ_push(&RQ1,11);
                ?RQ_push(&RQ1,12);
                ?
                ?RQ_push(&RQ1,13);
                ?RQ_push(&RQ1,14);?
                ??
                ?
                ?
                }

                bool?RQ_create(int max)
                {
                ?RQ1.head=0;
                ?RQ1.tail=0;
                ?RQ1.size=0;
                ?RQ1.max=max;
                }


                int??RQ_push(struct RQ *Q,int data)
                {
                ?printQ(Q,data);
                ?printf("Q->size=%d\n",Q->size);
                ?if(IS_FULL(Q))
                ?{
                ??printf("Error, Q FULL\n");
                ??return -1;
                ?}
                ?
                ?Q->data[Q->tail]=data;
                ?
                ?Q->tail=(Q->tail+1)%MAX_Q_SIZE;
                ?Q->size++;
                ?return 0;
                ?
                }
                int??RQ_pop(struct RQ *Q,int *val)
                {
                ?printQ(Q,-1);
                ?printf("Q->size=%d\n",Q->size);?
                ?if(IS_EMPTY(Q))
                ?{
                ??printf("Error, Q empty\n");
                ??return -1;
                ?}
                ?
                ?*val=Q->data[Q->head];
                ?
                ?Q->head=(Q->head+1)%MAX_Q_SIZE;
                ?
                ?Q->size--;
                ?return 0;
                }


                實現環境:

                C-free5.0







                ?

                ??

                我要點評