關于排序方法函數的問題?
為什么在左側的講解中說:“若返回值<=-1,則表示 A 在排序后的序列中出現在 B 之前。
若返回值>-1 && <1,則表示 A 和 B 具有相同的排序順序。若返回值>=1,則表示 A 在排序后的序列中出現在 B 之后?!?/span>
比較迷惑他說的這個是這個只針對整數么?
對于小數是否應以0分界?
為什么在左側的講解中說:“若返回值<=-1,則表示 A 在排序后的序列中出現在 B 之前。
若返回值>-1 && <1,則表示 A 和 B 具有相同的排序順序。若返回值>=1,則表示 A 在排序后的序列中出現在 B 之后?!?/span>
比較迷惑他說的這個是這個只針對整數么?
對于小數是否應以0分界?
2016-01-01
舉報
2016-01-01
你試一下不就行了嗎?你把數組里的數改成小數,排一下就明白了。
2016-01-08
我認為這種表述方式不對,應該改為:
比較函數的要求:該函數要比較兩個值,然后返回一個用于說明(我也不知道該怎么說了)。比較函數應該具有兩個參數 a 和 b,其返回值如下:?
若返回值<0,則表示根據排序要求A 在排序后的序列中出現在 B 之前。
若返回值=0,則表示根據排序要求 A 和 B 具有相同的排序順序。
若返回值>0,則表示根據排序要求A 在排序后的序列中出現在 B 之后。
(可參照你的問小數怎么問題)
舉個栗子:
2016-01-05
a 和b的順序是按照返回值來定義的前后順序,比如a,b如果是2,3,那么升序的return(a-b);看值是-1按照定義是不是a在b前,如果返回值是return(b-a)看值是1,定義里說如果返回值是1,那么a在b的后面,所以理解這個不要被a-b或者b-a給迷惑了,他只是為了得出返回值的大小決定a,b兩個數的前后順序,不要理解為b-a的值是1,所以b在a后面剛好,因為定義里面的是返回值大于1,a在b后喲,按定義來就不會錯的。