先进先出算法(英語:first in, first out,简称 FIFO)是一種計算機科學的排程演算法。它描述了一個佇列所使用的先到先得服務方式:先進入佇列的工作將先被完成,之後進來的則必須稍候。
範例
一個C++語言的範例
#include<iostream>#include<stdexcept>template<typenameT>classFIFO{private:structNode{Tvalue;Node*next;Node(T_value):value(_value),next(NULL){}};Node*front;Node*back;public:FIFO():front(NULL),back(NULL){}~FIFO(){while(front!=NULL)dequeue();}voidenqueue(T_value){Node*newNode=newNode(_value);if(front==NULL)front=newNode;elseback->next=newNode;back=newNode;}Tdequeue(){if(front==NULL)throwstd::underflow_error("Nothing to dequeue");Node*temp=front;Tresult=front->value;front=front->next;deletetemp;returnresult;}};