这个算法的时间复杂度是什么?为什么?

时间:2017-01-19 09:01:40

标签: java stack time-complexity

任何人都可以向我解释这段代码的时间复杂性。谢谢

public static Stack<Integer> sortStack(Stack<Integer> aStack) {

    Stack<Integer> rStack=new Stack<>();
    int temp=0;

    rStack.push(aStack.pop());

    while(!aStack.empty()){
        temp=aStack.pop();

        while(!rStack.empty() && temp >rStack.peek()){
            aStack.push(rStack.pop());
        }
        rStack.push(temp);
    }
    return rStack;
}

1 个答案:

答案 0 :(得分:1)

我认为它是O(n ^ 2),因为内部while的时间复杂度为n,而外部while的时间复杂度相同。