queue動作は理解してますか?
\u0026lt;概要\u0026gt;
queue は、FIFO動作で、日本語では *先入れ*、*先出し* と呼ばれる
★キュー操作ではニコイチのキュー操作用変数の追いかけっこ
このqueue実装では
Bot : 書込み操作(EnQ)後の添字の値
Top : 呼出し操作(DeQ)後の添字の値
★キューが空状態の時での書込み操作(EnQ)では Top,Bot共に1
★読出し操作(DeQ)後、キューが空になったら、Top,Bot共に0
・・上記は一度キューが[空]で
・・・操作用添字(Top,Bot)を完全初期化(共に0)
・・・キュー配列データ本体の状態は *放置*
EnQue()においては以下の準備データを順に格納
テストデータT = \u0026quot;ABCDEFGHIJ\u0026quot;;
Datの変化タイミングは
・EnQueueの時、Datにデータセットして EnQueue()呼出し
・DeQueueの時、DeQueue()呼出し後のキューから読出された値がDat
初期 : Dat: '-', Top:0, Bot:0, Que[] : \u0026quot;-----\u0026quot; 0個:0-0
EnQ(): Dat: 'A', Top:1, Bot:1, Que[] : \u0026quot;A----\u0026quot; 1個:1-1
EnQ(): Dat: 'B', Top:1, Bot:2, Que[] : \u0026quot;AB---\u0026quot; 2個:1-2
EnQ(): Dat: 'C', Top:1, Bot:3, Que[] : \u0026quot;ABC--\u0026quot; 3個:1-3 (※1)
DeQ(): Dat: 'A', Top:2, Bot:3, Que[] : \u0026quot;ABC--\u0026quot; 2個:2-3
DeQ(): Dat: 'B', Top:3, Bot:3, Que[] : \u0026quot;ABC--\u0026quot; 1個:3-3
DeQ(): Dat: 'C', Top:0, Bot:0, Que[] : \u0026quot;ABC--\u0026quot; 0個:0-0 (※2)
EnQ(): Dat: 'D', Top:1, Bot:1, Que[] : \u0026quot;DBC--\u0026quot; 1個:1-1
EnQ(): Dat: 'E', Top:1, Bot:2, Que[] : \u0026quot;DEC--\u0026quot; 2個:1-2
DeQ(): Dat: 'D', Top:2, Bot:2, Que[] : \u0026quot;DEC--\u0026quot; 1個:2-2
EnQ(): Dat: 'F', Top:2, Bot:3, Que[] : \u0026quot;DEF--\u0026quot; 2個:2-3
DeQ(): Dat: 'E', Top:3, Bot:3, Que[] : \u0026quot;DEF--\u0026quot; 1個:3-3
EnQ(): Dat: 'G', Top:3, Bot:4, Que[] : \u0026quot;DEFG-\u0026quot; 2個:3-4
EnQ(): Dat: 'H', Top:3, Bot:5, Que[] : \u0026quot;DEFGH\u0026quot; 3個:3-5
EnQ(): Dat: 'I', Top:3, Bot:1, Que[] : \u0026quot;IEFGH\u0026quot; 4個:3-5,1
f ウ : Que(3),Que(4),Que(5),Que(1)
queueに格納されているデータは、先頭から添字が3,4,5,1 の4個を保持している状態