先進先出演算法

先进先出算法(,简称 FIFO)是一種計算機科學的排程演算法。它描述了一個佇列所使用的先到先得服務方式:先進入佇列的工作將先被完成,之後進來的則必須稍候。

範例
一個C++語言的範例

#include
#include

template
class FIFO
{
private:

struct Node {
T value;
Node *next;

Node(T _value) : value(_value), next(NULL) {}
};

Node *front;
Node *back;

public:
FIFO() : front(NULL), back(NULL) {}

~FIFO() {
while (front != NULL)
dequeue();
}

void enqueue(T _value) {
Node *newNode = new Node(_value);

if (front == NULL)
front = newNode;
else
back->next = newNode;

back = newNode;
}

T dequeue() {
if (front == NULL)
throw std::underflow_error("Nothing to dequeue");

Node *temp = front;
T result = front->value;

front = front->next;
delete temp;

return result;
}
};

评论 (0)

  • 还没有评论,来抢沙发吧。