この記事では、Python+NumPyを用いて、配列のキュー(FIFO)操作を実装する方法をソースコード付きで解説します。
キュー(FIFO)
キューは配列に対して以下の動作を行います。
| 順 | 説明 |
|---|---|
| ① | データの追加・・・配列の末尾に行う |
| ② | データの取り出し・・・配列の先頭から行う |
この一連の動作のことをキュー、もしくはFIFO(First In First Out=先入れ先出し)といいます。
今回はこれをNumPyで実装してみました。
ソースコード(Python3+NumPy)
サンプルプログラムのソースコードです。
# -*- coding: utf-8 -*-
import numpy as np
def queue(src, a):
dst = np.roll(src, -1)
dst[-1] = a
return dst
def main():
# 1次元配列の生成
x = np.array([1, 2, 3, 4, 5])
# キュー操作
y = queue(x, 6)
print('y=', y) # y= [2 3 4 5 6]
if __name__ == '__main__':
main()

コメント