求高手点拨:C语言中的“数组复原”的算法实现方法...

liang_is_a_dung 2012-12-13 10:41:25
求高手点拨:
如果有一个数组,int a[4]={1,2,3,4}
采用对这个数组进行“双重循环交换对应元素法”,来进行“排序”,(以进行排列组合的穷举),的话:
①:int buf=0;
②:for(i=0;i<=3;i++){
③:for(j=0;j<=3;j++){
④:buf=a[i];
⑤:a[i]=a[j];
⑥:a[j]=buf;
⑦:}
⑧:}
高手,如果采取这样的方式来“排序”的话,高手,在第④->⑤行代码处,是为了进行“整个数组的排列的可能性的穷举”,
高手,有没有什么办法,能够让整个计算,在进行完“每一次的④->⑥行的"队列重排"后,能够让原数组在面对"④->⑥"所做出的改动"复原"”,(排除使用:
buf=a[i];
a[i]=a[j];
a[j]=buf;
再进行一遍“值的回赋”,这种时间复杂度代价较高的方法外。
还有什么办法?
...全文
190 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
liang_is_a_dung 2012-12-15
  • 打赏
  • 举报
回复
求两位高手指教: 在经过今日的查找与搜索后,我了解到:有临时变量和临时数组的概念,在C和C++之中。 请问高手,此部分内容,为什么在谭浩强的《C程序设计》之中,只字未提? 是否这个概念的提出的C的版本的发布日期,是在我手中的2008年5月本书第20次印刷之后,提出的概念并加入到了新的C的系统之中供用户使用的? 现在的C的教材中,哪一本书,能够提供相关此知识的内容? 谢谢高手!!
rocktyt 2012-12-14
  • 打赏
  • 举报
回复
值引用产生临时变量离开作用域自动销毁

64,642

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧