任何人都可以向我解释这段代码的时间复杂性。谢谢
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;
}
答案 0 :(得分:1)
我认为它是O(n ^ 2),因为内部while
的时间复杂度为n,而外部while
的时间复杂度相同。