/**
* ** 內容:鏈佇列的結構及其應用
* * 看嚴蔚敏教材上的**,就很清晰
*/#include #include typedef int elemtype;
typedef struct qnode
qnode,*queueptr;
typedef struct
linkqueue;
/*基本操作*/
linkqueue* initqueue(); //初始化鏈佇列
void enque(linkqueue *q,elemtype e); //入隊
elemtype deque(linkqueue *q); //出隊
int isempty(linkqueue *q); //判空
void printque(linkqueue *q); //輸出佇列
int main()
/*初始化鏈佇列*/
linkqueue* initqueue()
/*出隊*/
elemtype deque(linkqueue *q)
qnode *p=q->front->next;
q->front->next=p->next;
//這裡需要注意:如果出隊的是最後乙個元素,那麼尾指標需要調整指向
if(q->rear==p)
e=p->data;
free(p);
return e;
} /*入隊*/
void enque(linkqueue *q,elemtype e)
/*列印鏈佇列*/
void printque(linkqueue *q)
printf("\n");
}int isempty(linkqueue *q)
return 0;
}
鏈佇列及其操作
問題 跟之前想的不一樣,以為就是個鍊錶,結果實現時就出問題了。lqueue rear要不斷的後移 因此,每次入隊的時候要找到lqueue rear,因此每次入隊是要後移lqueue rear。include include using namespace std typedef struct lin...
鏈佇列及其操作
問題 跟之前想的不一樣,以為就是個鍊錶,結果實現時就出問題了。lqueue rear要不斷的後移 因此,每次入隊的時候要找到lqueue rear,因此每次入隊是要後移lqueue rear。include include using namespace std typedef struct lin...
佇列的基本操作(鏈佇列)
佇列和棧差不多,唯一的區別就是棧式先進後出 filo 佇列是先進先出 fifo 佇列的示意圖如下 其基本操作的 如下 include includeusing namespace std struct qnode typedef qnode queueptr struct linkqueue 初始化...