亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

關于return a-b 的理解這樣是否正確??

我們可以這么理解 return a-b ?

如果a>b的話 返回的不管是幾,肯定是正數、?

a<b的話肯定是負數。(這里不考慮等于的情況,沒意義,排序誰前誰后有區別嗎?)?

這個時候再通過sort排序的時候,每次都要計算一次正負值后對兩個數排序,這樣負數肯定在前,正數在后……

這樣,小的在前,大的在后,就是升序排列。

反過來,b-a的話,如果a>b,返回的是負數,這樣b就在前面……最后結果就是降序排列

不知道這樣理解對不對?


正在回答

4 回答

因為sort()函數使用的是冒泡排序,冒泡排序會重復地走訪要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來,一直重復地進行直到說該數列已經排序完成。

如果a-b>0(即正數)就把a和b的位置交換,也就是較小的一個數會排到前面;

如果b-a>0就把a和b的位置交換,也就是較大的一個數會排到前面。

5 回復 有任何疑惑可以回復我~
#1

慕后端4851235

先記一下
2015-02-05 回復 有任何疑惑可以回復我~
#2

馳子 提問者

非常感謝!
2015-07-08 回復 有任何疑惑可以回復我~
#3

dong起來

return a-b返回的不是一個數值嗎?
2016-06-18 回復 有任何疑惑可以回復我~
public?void


0 回復 有任何疑惑可以回復我~

但是為什么不是對a-b的值進行大小排序呢?我在這卡著了,求解

0 回復 有任何疑惑可以回復我~
#1

一葉懷沙

return a-b是比較a和b,a比b大的話則把a排在b前面,這樣經過若干次比較,就會排序完成。而你的意思是后臺另有一個數組,記錄a和b的差,差大的那對a和b排在前面。這本身需要另有一個數組,而且需要把這個數組再排一次序,再而且所謂“差大的那對a和b排在前面”根本對排序沒任何意義。 作者:楊光 鏈接:https://www.zhihu.com/question/22781233/answer/22612368 來源:知乎 著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
2016-04-01 回復 有任何疑惑可以回復我~

可以這么理解

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
JavaScript進階篇
  • 參與學習       468970    人
  • 解答問題       22582    個

本課程從如何插入JS代碼開始,帶您進入網頁動態交互世界

進入課程

關于return a-b 的理解這樣是否正確??

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號