c语言链式队列
1:
鏈式隊列:鏈式存儲結構的隊列
插入元素一端叫隊尾(front) 刪除元素叫對頭(rear)
鏈式隊列的隊頭指針指向隊列的當前隊頭結點位置,隊尾指針指向隊列的當前隊尾結點位置(指針front指示的是鏈式隊列的對頭結點,指針rear指示的是鏈式隊列的隊尾結點)
對于不帶頭結點的鏈式隊列,出隊列時可以直接刪除對頭指針所指的結點,沒有頭結點的鏈式隊列比有頭結點更方便。
鏈式隊列中結點的結構體定義如下:
typedef struct qnode{DataType data; //鏈表數據域struct qnode *next;//鏈表指針域 }LQNode為了方便參數調用,通常把鏈式隊列隊頭指針front和隊尾指針rear也定義為如下的結構體
typedef struct{LQNode *front;LQNode *rear; }LQueue;2:
初始化QueueInitiate(LQueue *Q)
//初始化QueueInitiate(LQueue *Q) void QueueInitiate(LQueue *Q){Q->rear==NULL;Q->front==NULL; } //非空否QueueNotEmpty(LQueue Q) int QueueNotEmpty(LQueue Q){if(Q.front==NULL) return 0;else return 0; } //入隊列QueueAppend(LQueue *Q,DataType x) int QueueAppend(LQueue *Q,DataType x){LQNode *p;p=(LQNode *)malloc(sizeof(LQNode));p->next =NULL;if(Q->rear != NULL) Q->rear->next =p;Q->rear =p;if(Q->front ==NULL) Q->front=p; }總結
 
                            
                        - 上一篇: Java输入输出流体系
- 下一篇: 技术分享| Sip与WebRTC互通-S
