佇列(queue)是先進先出(FIFO)的線性結構,常以鏈結串列或陣列實作。
struct node{
int data;
node *next;
} *head = NULL;
void put(int x){
if(head == NULL){
head = new node();
head->data = x;
head->next = NULL;
}else{
node *p = head;
while(p->next != NULL) p = p->next;
p->next = new node();
p = p->next;
p->data = x;
p->next = NULL;
}
}
int get(){
if(head == NULL){
std::cout << "Queue empty\n";
return -1;
}else{
node *p = head;
int u;
head = head->next;
u = p->data;
delete p;
return u;
}
}
struct node{
int data;
node *next;
};
class Queue{
private:
node *head;
public:
Queue(){ head = NULL; }
void put(int x){
if(head == NULL){
head = new node();
head->data = x;
head->next = NULL;
}else{
node *p = head;
while(p->next != NULL) p = p->next;
p->next = new node();
p = p->next;
p->data = x;
p->next = NULL;
}
}
int get(){
if(head == NULL){
std::cout << "Queue empty\n";
return -1;
}else{
node *p = head;
int u;
head = head->next;
u = p->data;
delete p;
return u;
}
}
};