インラインでスタックを逆にする関数を作成しました。これら 2 つは stack クラスのメンバ関数です。
void reverse()
{
int first=pop();
if(first!=-1)
{
reverse();
insert(first);
}
}
private:
void insert(int i)
{
int temp=pop();
if(temp==-1)
{
push(i);
}
else
{
/* there is already a element in the stack*/
insert(i);
push(temp);
}
}
複雑さを計算するために、関数を大きな O の形で分析するにはどうすればよいでしょうか。