设为首页 - 加入收藏
广告 1000x90
您的当前位置:黄大仙www78345 > 交换排列 > 正文

c++问题关于数组反序排列

来源:未知 编辑:admin 时间:2019-06-11

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部第一次你交换的是a[size-1]如果你再输入 size,意味着你再次与a[size-1]交换,这当然不对,改成size-1,那么你此时与a[size-2]交换就对了。更多追问追答追问reverse(a+1,?)是什么意思

  追问那不是应该填size-2啊追答你要清楚源程序的应用方式,源程序传入的是size,但用的是size-1,你如果传size-2进去,相当于用的是size-3,这就不对了啊。对于数组,个数size表示总共的数目,但是在取数据的时候不能取到a[size],这个超界了,因为首相是a[0],例如,10长度的数组,包括的下标是0、1、2、3、4、5、6、7、8、9;而不能到10,否者个数就有11个了,这个不难明白吧。

  你这个程序的倒序思想是采用中间对分,对应交换,还拿上面的例子说,相当于下标0和9交换,1和8交换,如此类推,当最后剩下的个数2时,不用交换了,所以在这个例子中size=10,你想想,最后面一个是size-1,倒数第二个是size-2,程序中a[0]=a[size-1];a[size-1]=k;不正是第一次的交换么?

  展开全部因为在c++中,数组的下标都是从0开始的。size指的是你数组中含有的元素的个数。但是,当前元素的下标确实要-1的。

  展开全部第一次是a[0]和a[n]交换,第二次是a[1]和a[n-1]交换。。。此处size代表后面的那个序号。。。

本文链接:http://apkhealth.com/jiaohuanpailie/313.html

相关推荐:

网友评论:

栏目分类

现金彩票 联系QQ:24498872301 邮箱:24498872301@qq.com

Copyright © 2002-2011 DEDECMS. 现金彩票 版权所有 Power by DedeCms

Top