佇列中的一些操作思路

2021-06-28 09:58:20 字數 1018 閱讀 8225

typedef int item;

typedef struct node

node;

typedef struct queue

1.向佇列尾端新增專案步驟:

1.1 建立新節點

1.2把專案複製到新節點

1.3設定節點的next指標為null,表明該節點時列表中的最後乙個節點

1.4設定當前尾節點的next指標指向新的節點,從而將將新節點鏈結到佇列中

1.5把rear指標設定為指向新節點,以便找到最後的節點

1.6專案個數加1

bool enqueue(item item, queue* pq)

copytonode(item, pnew);

pnew->next= null;

if(queueisempty(pq))

pq->front = pnew;

else

pq->rear->next = pnew;

pq->rear = pnew;

pq->items++;

return ture;

}

2.向佇列首端刪除專案步驟:

2.1 把專案複製到乙個給定的變數中

2.2釋放空閒節點使用的記憶體

2.3重置首指標,使其指向佇列的下一項

2.4如果最後一項被刪除,把首尾指標重置為null

1.6專案個數減少1

bool dequeue(item* pitem, queue* pq)

copytoitem(pq->front, pitem);

pt = pq->font;

pq->font = pq->front->next;

free(pt);

pq->items--;

if(pq->items == 0)

reurn true;

}

佇列queue的一些操作

1.q queue.queue 5 例項化,5為佇列長度 2.q.put haha 將資料加入佇列,計數器 1 3.q.get 取出資料,計數器不變 4.q.join 阻塞,知道計數器為0 5.q.task done 計數器 1 import queue q queue.queue 4 q.put ...

經營作業系統的一些思路

最近國內作業系統行業比較活躍,10月17日到10月18日是第二屆開源作業系統技術年會。各路好手你方唱罷我登場,好不熱鬧。我有幸了解了一下,的確是一屆盛會。個人關心的並不是作業系統本身的技術,自己雖然是個做技術的。我始終放在作業系統的發展上,尤其是商業發展。放眼國內,作業系統都是國外的在搶灘登陸。國內...

malloclab的一些思路

首先是參考書上第598 602頁 但是照搬書上的 只有六十多分 預設的也有七十多 注意到書上p594頁說,下一次適配很可能比首次適配記憶體利用率高,尤其是當鍊錶前面布滿了許多小碎片的時候,但在有些情況下,下一次適配不及首次適配,書上的 採用的是首次適配,因此嘗試下一次適配。兩者最大的差別就在於fin...