生活随笔
收集整理的這篇文章主要介紹了
数据结构-队(C语言代码)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
只允許在一端進(jìn)行插入,在另一端進(jìn)行刪除的操作的線性表,又稱為先進(jìn)先出(First In First Out)線性表,簡(jiǎn)稱FIFO
隊(duì)頭:允許進(jìn)行刪除操作的一端
隊(duì)尾:允許進(jìn)行插入操作的一端
空隊(duì):不含任何數(shù)據(jù)元素的隊(duì)
#include <stdio.h>
#include <stdlib.h>
typedef struct Node {int data
;struct Node* next
;
}Node
;
Node
* initQueen() {Node
* Q
= (Node
*)malloc(sizeof(Node
));Q
->data
= 0;Q
->next
= NULL;return Q
;
}
void enQueen(Node
* Q
, int data
) {Node
* q
= Q
;Node
* node
= (Node
*)malloc(sizeof(Node
));node
->data
= data
;for (int i
= 0; i
< Q
->data
; i
++) {q
=q
->next
;}node
->next
= q
->next
;q
->next
= node
;Q
->data
++;
}
int isEmpty(Node
* Q
) {if (Q
->data
== 0 || Q
->next
== NULL) {return 1;}else{return 0;}
}
int deQueen(Node
* Q
) {if (isEmpty(Q
)) {return -1;}else{Node
* node
= Q
->next
;int data
= node
->data
;Q
->next
= node
->next
;free(node
);Q
->data
--;return data
;}
}
void printQueen(Node
* Q
) {Node
* node
= Q
->next
;while (node
) {printf("%d->", node
->data
);node
= node
->next
;}printf("NULL\n");
}int main() {Node
* Q
= initQueen();enQueen(Q
, 1);enQueen(Q
, 2);enQueen(Q
, 3);enQueen(Q
, 4);printQueen(Q
);int data
=deQueen(Q
);printf("data=%d\n", data
);printQueen(Q
);return 0;
}
總結(jié)
以上是生活随笔為你收集整理的数据结构-队(C语言代码)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。