算法練習(xí)(6):冒泡排序預(yù)習(xí)(1.1.26)

本系列博客習(xí)題來自《算法(第四版)》,算是本人的讀書筆記,如果有人在讀這本書的,歡迎大家多多交流。為了方便討論,本人新建了一個(gè)微信群(算法交流),想要加入的,請?zhí)砑游业奈⑿盘枺簔hujinhui207407 謝謝。另外,本人的個(gè)人博客 http://www.kyson.cn 也在不停的更新中,歡迎一起討論

算法(第4版)

知識點(diǎn)

  • 冒泡排序

題目

1.1.26 將三個(gè)數(shù)字排序。假設(shè) a、b、c 和 t 都是同一種原始數(shù)字類型的變量。證明以下代碼能夠?qū)?a、 b、c 按照升序排列:
if (a > b) { t = a; a = b; b = t; }
if (a > c) { t = a; a = c; c = t; }
if (b > c) { t = b; b = c; c = t; }


1.1.26 Sorting three numbers. Suppose that the variables a, b, c, and t are all of the same numeric primitive type. Show that the following code puts a, b, and c in ascending order:
if (a > b) { t = a; a = b; b = t; }
if (a > c) { t = a; a = c; c = t; }
if (b > c) { t = b; b = c; c = t; }

分析

這是冒泡排序的一種思路:通過不停交換數(shù)字,將小的數(shù)冒泡到最上面。

答案

    if (a > b) { t = a; a = b; b = t; }     // 保證a為a、b兩數(shù)的較小者

  if (a > c) { t = a; a = c; c = t; }     // 保證a為a、b、c三數(shù)中的最小者

  if (b > c) { t = b; b = c; c = t; }     // 保證b為比a大的b、c兩數(shù)的較小者,從而必有c為三數(shù)中的最大者

廣告

我的首款個(gè)人開發(fā)的APP壁紙寶貝上線了,歡迎大家下載。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容