您好,欢迎来到花图问答。
搜索
您的当前位置:首页算法练习(6):冒泡排序预习(1.1.26)

算法练习(6):冒泡排序预习(1.1.26)

来源:花图问答
算法(第4版)

知识点

  • 冒泡排序

题目

1.1.26 将三个数字排序。假设 a、b、c 和 t 都是同一种原始数字类型的变量。证明以下代码能够将 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; }

分析

这是冒泡排序的一种思路:通过不停交换数字,将小的数冒泡到最上面。

答案

    if (a > b) { t = a; a = b; b = t; }     // 保证a为a、b两数的较小者

  if (a > c) { t = a; a = c; c = t; }     // 保证a为a、b、c三数中的最小者

  if (b > c) { t = b; b = c; c = t; }     // 保证b为比a大的b、c两数的较小者,从而必有c为三数中的最大者

广告

本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

热门图文

Copyright © 2019-2025 huatuowenda.com 版权所有 湘ICP备2023022495号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务