Queue:是一種先進先出的資料結構(First In First Out).
下面的範例程式使用C++ 的Linked List來實現Queue.
#include <iostream>
using namespace std;
class Node {
public:
int data;
Node* nxtNode;
Node(int _data) {
data=_data;//Data
nxtNode=NULL;//pointer to next one
}
};
class LinkedList {
Node* previous;
Node* next;
public:
LinkedList() {
previous=NULL;
next=NULL;
}
void insert(Node * _node) {
if (previous==NULL) {
previous= next= _node;//first node
} else {
(*next).nxtNode=_node;
next=_node;
}
}
void displayAll() {
Node* tmp=previous;
while(tmp!=NULL){
cout<<(*tmp).data <<endl;
tmp=(*tmp).nxtNode;
}
}
};
int main() {
Node* firstNode=new Node(1);
Node* secondNode=new Node(2);
Node* thirdNode=new Node(3);
LinkedList ll;
ll.insert(firstNode);
ll.insert(secondNode);
ll.insert(thirdNode);
ll.displayAll();
return 0;
}
沒有留言:
張貼留言