问一个简单问题

kkun_3yue3 2013-07-10 10:28:25
void quick_sort(const int a[])
{

}

void quick_sort(const int *a[])
{

}
void quick_sort(int a[])
{

}
void quick_sort(int *a[])
{

}


如代码所示,我想写个快速排序
四个问题,各20分
问题1,四种声明方式那种最洽当?
问题2,为什么它最洽当?
问题3,参数是值传递还是指针传递
问题4,为何不可传数组的引用?

不是考大家,而是确实不懂才来提问的
...全文
90 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qzf362269994 2013-07-10
  • 打赏
  • 举报
回复
单纯的用数组的引用可以直接传递数组名,但是它将数组的大小已在形参里提供了信息。但是这样一来我们只能固定数组的大小来用这个函数 像void quick_sort(int (&a)[10])显然这不太符合实际场合
kkun_3yue3 2013-07-10
  • 打赏
  • 举报
回复
委曲二楼了,一楼三楼也正确,欠你40分, 委曲四楼了,结完贴才看到,同欠你60分 有机会的话以不倒分的方式补上
图灵狗 2013-07-10
  • 打赏
  • 举报
回复
1、第三个是最好的; 2、不能加const修饰,因为排序会更改数组中的元素; 3、不需要用到int*a[]这样的二维方式。
引用 楼主 kkun_3yue3 的回复:
void quick_sort(const int a[])
{

}

void quick_sort(const int *a[])
{

}
void quick_sort(int a[])
{

}
void quick_sort(int *a[])
{

}
如代码所示,我想写个快速排序 四个问题,各20分 问题1,四种声明方式那种最洽当? 问题2,为什么它最洽当? 问题3,参数是值传递还是指针传递 问题4,为何不可传数组的引用? 不是考大家,而是确实不懂才来提问的
qzf362269994 2013-07-10
  • 打赏
  • 举报
回复
第三个 第一个和第二个有const在元素交换位置时会出错,数组的元素为只读
漫步者、 2013-07-10
  • 打赏
  • 举报
回复
问题1,四种声明方式那种最洽当? 第三种 问题2,为什么它最洽当? 1,2明显不符合要求,你排序固然要修改数据位置,采用const明显违规,2,4,的做法是个二级指针, 问题3,参数是值传递还是指针传递 指针传递 问题4,为何不可传数组的引用? 数组用引用?除非你穿二级指针,形参用指针引用
healer_kx 2013-07-10
  • 打赏
  • 举报
回复
应该是第三个吧,其他的估计都是不对的。

64,266

社区成员

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

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