热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

二维数组sort排序

和副本任务完全无关的奇怪感慨:完全搞不懂我为什么会在搞图论的时候学这种奇怪东西,需要的时候不会,不需要的时候又莫名增加了奇怪的技能点.之前的假期规划在十多天的放飞自我中彻底泡汤,简单
和副本任务完全无关的奇怪感慨:

完全搞不懂我为什么会在搞图论的时候学这种奇怪东西,需要的时候不会,不需要的时候又莫名增加了奇怪的技能点.

之前的假期规划在十多天的放飞自我中彻底泡汤,简单的图论都一点不会,sad.
在想要不要把分治 贪心 递推 哈希 大根小根堆再看一遍,我似乎又忘了.
刘神刷题比我快了,我应该好好学习不能这么浪.
大概我永远没有大神们的智商优势吧,所以要更努力.
毕竟没有贯彻意志的希望一无所有,所以努力成为hal一样的绿灯侠吧少年[bushi].
 
好了回归正题.
要想知道二维数组排序首先要知道二维数组的储存方式;
比如说 int wtf[2][2];//↓下面的四个口代表一个int储存位[虽然很不标准但是大概能理解吧]
口口口口 口口口口 口口口口 口口口口
↑wtf[0][0]           ↑wtf[0][1]          ↑wtf[1][0]        ↑wtf[1][1]
所以排序的时候就是先看行再看列
[就是把下面一行一行的按顺序移到后面,一个 wtf[a][b]和一个 wtf[a*b]从某种意义上说是差不多的 ;
我个人是这么看的,所以你也可以觉得它是先看列再看行,不过我更希望内存是横着排的...虽然这只是个比方]
 
然后我们开始学习怎么排序;
假如我们有一个 wtf[a][b]的int数组,我想把 wtf[x][0]到wtf[x][b-1]从小到大排序(0<=x<=a-1)
c++代码如下
for(int i=0;i<=a-1;i++){
    sort((int*)wtf+b*i,(int*)wtf+b*i+b);
}
View Code

至于其他从大到小或者什么神奇的排序,自己定义一个mycmp放后面好了,就和普通排序一样;

似乎还有 greater()这种神奇的东西可以放在后面.
 
嗯至于怎么把 wtf[0][x]到wtf[a-1][x]排序,我不会...
 
李二狗的数组课堂就到这里,虽然并没有同学会看这么神经病的东西,但是还是感谢您的观看,比心.

推荐阅读
author-avatar
天之蓝
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有