2 回答
TA贡献1797条经验 获得超6个赞
想象一下您有三个 Stack 的场景,Stack A(您要从中复制的那个)、Stack B(您要复制到的目标)和一个 Stack temp(辅助 Stack)。
Step 1: (The Initial Stack)
|1| | | | |
|2| | | | |
|3| | | | |
A TEMP B
Step 2: (Move elements from Stack A to Temp Stack)
| | | | | |
|2| | | | |
|3| |1| | |
A TEMP B
| | | | | |
| | |2| | |
|3| |1| | |
A TEMP B
| | |3| | |
| | |2| | |
| | |1| | |
A TEMP B
Step 3: (Move elements from Temp stack to Stack A & B)
| | | | | |
| | |2| | |
|3| |1| |3|
A TEMP B
| | | | | |
|2| | | |2|
|3| |1| |3|
A TEMP B
|1| | | |1|
|2| | | |2|
|3| | | |3|
A TEMP B
TA贡献1875条经验 获得超3个赞
要复制堆栈:
创建
temp
堆栈使用和将所有值从
origin
堆栈移动到堆栈temp
pop
push
origin
堆栈现在是空的,并且temp
堆栈是倒置的创建
copy
堆栈将所有值从
temp
堆栈移动到两者origin
并copy
同时堆栈origin
返回到原始内容,并且copy
堆栈具有相同的内容。
添加回答
举报