搜尋此網誌

2011年7月18日 星期一

Queue Implemented by a Linked List

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;
}

沒有留言:

張貼留言