和副本任務完全無關的奇怪感慨:
完全搞不懂我為什么會在搞圖論的時候學這種奇怪東西,需要的時候不會,不需要的時候又莫名增加了奇怪的技能點.
之前的假期規划在十多天的放飛自我中徹底泡湯,簡單的圖論都一點不會,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); }
至於其他從大到小或者什么神奇的排序,自己定義一個mycmp放后面好了,就和普通排序一樣;
似乎還有
greater<int>()這種神奇的東西可以放在后面.
嗯至於怎么把
wtf[0][x]到wtf[a-1][x]排序,我不會...
數組課堂就到這里,雖然並沒有同學會看這么神經病的東西,但是還是感謝您的觀看,比心.