先進先出演算法 - 维基百科,自由的百科全书
先进先出算法(英語:first in, first out,简称 FIFO)是一種計算機科學的排程演算法。它描述了一個佇列所使用的先到先得服務方式:先進入佇列的工作將先被完成,之後進來的則必須稍候。
範例
[编辑]一個C++語言的範例
#include <iostream> #include <stdexcept> template <typename T> 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; } };