鏈表隊列回收隊列

回收隊列

  回收可以快速取消隊列,方法是讓頭尾碰面即可。

status destoryQueue(LinkQueue* que) {  //回收隊列
    if(que->head){
        que->rear = que->head->next;
        free(que->head);
        que->head=que->rear;
    }
    return OK;
}

遍歷隊列和測試方法

提供一個簡單的方法來測試鏈表隊列。

status viewQueue(LinkQueue* que){
    if(que->rear == que->head)
        return ERROR;
     
    QueuePtr p =que->head->next;
    while(p){
        printf("val:%d",p->data);
        p=p->next;
    }
    return OK;
}
 
int main(int argc, char **argv){
    LinkQueue myQueue;
    initQueue(&myQueue);
    for(int i=1;i<=5;i++)
        enQueue(&myQueue,i);
    viewQueue(&myQueue);
     
    QElemtype a;
    for(int i=0;i<5;i++){
        delQueue(&myQueue,&a);
        printf("%d\n",a);
    }
    destoryQueue(&myQueue);
    printf("fuck !");   
    return 0;
}    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章