123有几种排列步骤?

123有几种排列方法???
输入123
123
132
213
231
312
321
六种排列方法。。

这样的程序思路是怎么样的!!!
最好给出代码。。
尽量不要递归的。

------解决方案--------------------
递归都可以转换成循环的, 只要把函数调用中的栈信息自己保存就可以了.

这就是一个排列组合问题.