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

  • 相关阅读:
    struts2中form表单提交到action乱码
    struts2与ext一起用,找不到action
    Struts2学习
    Struts2之路第一天
    jsp&servlet 学生管理系统总结
    json初级
    AJAX
    问题---解决方式
    SQL语句优化
    Oracle内连接、外连接、右外连接、全外连接小总结
  • 原文地址:https://www.cnblogs.com/137shoebills/p/7783540.html
Copyright © 2020-2023  润新知