1. 程式人生 > >二維數組sort排序

二維數組sort排序

數組排序 gre 我想 pla 同學會 ont 神奇 -c 永遠

和副本任務完全無關的奇怪感慨:

完全搞不懂我為什麽會在搞圖論的時候學這種奇怪東西,需要的時候不會,不需要的時候又莫名增加了奇怪的技能點.

之前的假期規劃在十多天的放飛自我中徹底泡湯,簡單的圖論都一點不會,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]排序,我不會... 李二狗的數組課堂就到這裏,雖然並沒有同學會看這麽神經病的東西,但是還是感謝您的觀看,比心.

二維數組sort排序