#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...