鏈式佇列的實現

2021-07-10 18:10:59 字數 940 閱讀 5246

#include #include #define elementtype int

typedef struct nodeqnode;

typedef struct queue;

const elementtype error = -1;

int errorflag = 0;

/*** 建立乙個佇列

*/queue * createqueue()

/*** 新增元素到佇列

*/void add(elementtype x, queue * q)

q->rear->next = pnode;

q->rear = pnode;

}/**

* 從佇列中刪除

* 返回出佇列的值

* 若隊列為空 errorflag 為 1

*/elementtype delete(queue * q)

ele = q->front->data;

pnode = q->front;

//如果front 與 rear指向相同

//即到了最後乙個元素

if (pnode == q->rear)

q->front = q->front->next;

free(pnode);

return ele; }

/*** 返回佇列的長度

*/ int length(queue * q)

if (!q->isempty)

len ++;

return len;

}/**

* 列印佇列資訊

*/ void print(queue * q)

printf("%d ",front->data);

printf("\n");

}int main()

鏈式佇列的實現

typedef struct nodelinklist typedef structlinkqueue void setnull linkqueue p set a empty queue,front and rear pointer both point to a head node void q...

鏈式佇列的實現

include include define n 10 定義結點 typedef struct node node 定義佇列 typedef struct queue queue 判斷佇列是否為空 int empty queue queue 初始化佇列 queue init 入隊 int inque...

佇列的鏈式實現

今天最後老師問當棧的鏈式實現完成後,再實現佇列,是否會簡單?我回答,是的。我的理由很簡單,因為操作相同,其他的也應該類似,所以不會太難。至於實現之後,我的感受是怎麼樣的,我留在最後再說,順便總結一下。下面是標頭檔案 ifndef linklistqueue h define linklistqueu...