<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ``` // 21Coroutines09ObjC0901 // Created by terry on 2021/9/26. #import //定義節點結構 **typedef** **struct** { **int** \*data;//數據域 **int** front;//隊列頭 **int** rear;//隊列尾 **int** size;//隊列大小 -> 用以避免數組越界 **int** flag;//標志隊列是否滿 -> 1 滿 0 不滿 //如果不用此標志位的話,數組需要留多一位空位用來 判別 隊列是否滿 //即:當 頭指針 在 尾指針的下一個位置(多的空位)時,隊列滿。 } MyCircularQueue;//采用數組實現 **bool** myCircularQueueIsEmpty(MyCircularQueue\* obj); **bool** myCircularQueueIsFull(MyCircularQueue\* obj); //注意加上函數聲明 MyCircularQueue\* myCircularQueueCreate(**int** k) { **if** (k < 0){//傳參檢查 **return** **NULL**; } MyCircularQueue\* obj = (MyCircularQueue\*)malloc(**sizeof**(MyCircularQueue)); **if** (obj == **NULL**){ **return** **NULL**; } obj->data = (**int**\*)malloc( k \* **sizeof**(**int**)); **if** (obj\->data == **NULL**){ **return** **NULL**; } //賦各項初值 obj->front = obj->rear = 0; obj->size = k; obj->flag = 0; **return** obj; } **bool** myCircularQueueEnQueue(MyCircularQueue\* obj, **int** value) { **if** (myCircularQueueIsFull(obj)){//判斷隊列是否滿 **return** **false**; } obj->data\[obj->rear\] = value;//插入數據 obj->rear = ((obj\->rear+1) size) ? (obj->rear+1):0; //判斷是否到達數組邊界,且尾指針+1 **if** (obj->rear == obj->front){//在插入新元素后,兩指針指向相同,只有隊列滿一種情況。 obj->flag = 1;//隊列已滿 } **return** **true**; } **bool** myCircularQueueDeQueue(MyCircularQueue\* obj) { **if** (myCircularQueueIsEmpty(obj)){//判斷隊列是否空 **return** **false**; } obj->data\[obj->front\] = 0;//清除隊頭的數據 obj->front = ((obj\->front+1) size) ? (obj->front+1):0; //判斷是否到達數組邊界,且頭指針+1 obj->flag = 0;//只要刪除了元素,隊列就不可能滿 **return** **true**; } **int** myCircularQueueFront(MyCircularQueue\* obj) { **if** (myCircularQueueIsEmpty(obj)){ **return** -1; } **return** obj->data\[obj->front\]; } **int** myCircularQueueRear(MyCircularQueue\* obj) { **if** (myCircularQueueIsEmpty(obj)){ **return** -1; } **int** i = (obj->rear == 0) ? (obj->size-1):(obj->rear-1); //尾指針指向的是末尾數據的下一個位置,此處避免數組越界 **return** obj->data\[i\]; } **bool** myCircularQueueIsEmpty(MyCircularQueue\* obj) { **if** (obj->flag == 0 && obj\->front == obj->rear){//隊列未滿 且 首尾指針指向相同,則表明隊列空 **return** **true**; } **else**{ **return** **false**; } } **bool** myCircularQueueIsFull(MyCircularQueue\* obj) { **if** (obj->flag == 1){ **return** **true**; } **else**{ **return** **false**; } } **void** myCircularQueueFree(MyCircularQueue\* obj) { free(obj->data); obj\->data = **NULL**; free(obj); obj = **NULL**; } **int** main(**int** argc, **const** **char** \* argv\[\]) { **@autoreleasepool** { // MyCircularQueue \* aa=myCircularQueueCreate(10); // insert code here... **for**(**int** ii=0;**true**;++ii) { printf("%d\];",ii); **int** ran01=rand()%2; labeStart110: ran01=rand()%2; **if**(1\==ran01) //生產 { **if**(myCircularQueueIsFull(aa)) **goto** labeStart110; myCircularQueueEnQueue(aa, ii); // NSLog(@"%d:",ii); printf("{ii\[%d",ii); printf("%d", myCircularQueueFront(aa)); printf("\_%d;\\r\\n", myCircularQueueRear(aa)); }//if110 labe2200: **if**(0\==ran01) //消費 { **if**( myCircularQueueIsEmpty(aa)) **goto** labeStart110; myCircularQueueDeQueue(aa); }//if110else110 //NSLog(@"%d", ii); } NSLog(@"Hello, World!"); } **return** 0; } ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看