また、ポインタは使用できません
この質問はインタビューの質問であり、スタックADTが与えられ、キューでの操作が要求されるため、私には混乱しているように聞こえます...
キューエンキューでは、常にデータを最も右にある位置に挿入します。スタックでは、データも最後(上)に挿入されます。したがって、スタックでのキューイング操作のエミュレートは難しくありません。1回のpush()操作で十分です。問題はデキュー操作にあります。デキューをエミュレートする1つの方法は、スタックの2つのインスタンスを使用し、デキュー要求で空のスタック1をスタック2に入れ、スタック2からポップして、スタック1をstack2で復元することです。
エンキュー操作の時間計算量はO(1)(キューの場合と同じ)ですが、デキュー操作の時間計算量はO(n)になります。ここで、nは、キューのO(1)より大きいスタック内のアイテムの数です。 。