社区
数据结构与算法
帖子详情
二维数组排序问题
HarryPatton
2008-01-06 06:15:11
现有一个二维数据a[10,10],10行10列。 首先把每行的元素从小到大排序一下,接着把每列的元素从小到大排序一下。请问每行的元素还是从小到大排序的吗?如果是或者不是,请证明!
例子(这里由于版面原因,只列出3*3的数组)
4 2 5 2 4 5 2 4 5
9 8 10 ->排序行 8 9 10 ->排序列 3 4 5 -> 可以发现每行还是按照从小到大排序的。
3 4 5 3 4 5 8 9 10
...全文
146
6
打赏
收藏
二维数组排序问题
现有一个二维数据a[10,10],10行10列。 首先把每行的元素从小到大排序一下,接着把每列的元素从小到大排序一下。请问每行的元素还是从小到大排序的吗?如果是或者不是,请证明! 例子(这里由于版面原因,只列出3*3的数组) 4 2 5 2 4 5 2 4 5 9 8 10 ->排序行 8 9 10 ->排序列 3 4 5 -> 可以发现每行还是按照从小到大排序的。 3 4 5 3 4 5 8 9 10
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lyg_wangyushi
2008-01-07
打赏
举报
回复
每次操作都使得结果成立,那么最后的结果必然成立阿
grellen
2008-01-06
打赏
举报
回复
每行的元素还是从小到大排序的
lyg_wangyushi
2008-01-06
打赏
举报
回复
假设数组看成二维矩阵,则:
a11,a12,a13,……a1n;
a21,a22,a23,……a2n;
…………………………
…………………………
an1,an2,an3,……ann;
则先按行排列后每行都为有序的,再按列排列,则每列的最小元素上升到第一行,
比方说我没考虑行已经排好的一,二列,显然第一列的最小元素<=a'11,(a'11
为排列好的矩阵的第一个元素,且a'11<=a'12;
再将第二列元素排列,由于第二列的数在最初都要比相应的第一列的数要大,所以
第而列的最小元素肯定要>=第一列的最小元素,比方说第一列的最小元素是ar1(
对应原来的矩阵),第二列最小的数十ak2,则如果k=r,则ar2>=ar1,得证,
如果k!=r,则ak2>=ak1>=ar1,也得证,……这样也就可以证明命题的正确性.
a0002
2008-01-06
打赏
举报
回复
当然是
HarryPatton
2008-01-06
打赏
举报
回复
-dlym, 你的反证法是正确的,也很明白,谢谢。
-lyg_wangyushi,不好意思,没看懂你的意思。
这个题目能给出正面的证明吗?
大王派我去巡山
2008-01-06
打赏
举报
回复
变换之后的矩阵每行中的元素还是从小到大排列的。证明如下:
用反证法,假设存在一处a[i, j] > a[i, j+1]。
因为列中元素是经过排序的,所以必定有:
a[1, j+1] <= a[2, j+1] <= …… <= a[i, j+1] < a[i, j]
也就是说,第j+1列中存在着 i 个比a[i, j]还要小的元素。
这就是说,在
行排序之后
列排序之前
,在原来的第 j 列中一定还有至少 i 个比a[i, j]还要小的数字(其实就是与a[1, j+1] ,a[2, j+1] , …… a[i, j+1]同行的这 i 个 ,它们比a[1, j+1] ,a[2, j+1] , …… a[i, j+1]还要小,当然更比a[i, j]小)。
这说明,如果对第 j 列排序的话,a[i, j]这个元素排不到第 i 行(因为同列中至少有i个元素是比它还要小的),这与[i, j]的下标明显是矛盾的。
从而假设不成立。
不知道说清楚了没,反正我看着是挺明白的:)
php
二维数组
排序
问题
博客记录了
二维数组
排序
遇到的
问题
,虽未详细说明
问题
内容,但保留相关记录,对后续处理
二维数组
排序
问题
有一定参考价值。
C++
二维数组
sort
排序
问题
_c++ sort
二维数组
排序
文章讲述了作者在C++中遇到的
二维数组
排序
问题
,首先尝试用const类型指针引发错误,然后转向动态创建
二维数组
并成功实现
排序
的过程,同时分享了《2024年最新物联网嵌入式学习资料》以帮助IT从业者和爱好者提升技能。
二维数组
用sort
排序
遇到得
问题
本文探讨了使用
二维数组
进行
排序
时遇到的
问题
及解决方案。通过对比直接定义数组与使用指针动态分配内存两种方式,解决了sort函数应用过程中的错误。
C语言
二维数组
排序
问题
,
二维数组
对每一行进行
排序
。。
本文探讨了一个C++程序中关于
二维数组
sum[i][j]在换行后值保留的
问题
。通过示例代码展示了如何在
排序
过程中正确更新数组元素,确保每行结束后得到按升序排列的结果。
数据结构与算法
33,025
社区成员
35,334
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章