桶排序
2023-09-21曹晓敏
发明与创新·小学生 2023年9期
关键词:排序



岭童小子很能干,常常帮助老师们做一些力所能及的事情。例如,每周五他都帮班主任统计每个同学获得的贴纸数量,并给大家排序。全班有45个同学,每个星期都要统计、排序,还不能出一丁点差错,这项任务可不轻松。而且,手工统计不仅麻烦、费时,还容易出错。有没有更好的办法呢?
岭童小子思考了很久也没想出来,他有点着急了。看着岭童小子眉头紧锁的样子,一旁的星空乐了。
我來帮帮你吧。每个同学最多能得到多少个贴纸,请告诉我。
一个星期内,每个同学最多能得到100个贴纸。
好。请依次告诉我每个同学的贴纸数量。
岭童小子将每个同学的贴纸数量依次告诉星空……说完最后一个同学的贴纸数量,星空立马把同学们的贴纸数量按照从少到多的顺序排列了出来。
“怎么样?”星空得意地看着岭童小子。而此时的岭童小子脑袋都是蒙的,他需要好好想一想……
晓敏老师:
哈哈,岭童小子别着急。我们将问题简化一下:假设每个同学最多能获得10个贴纸,班上有5个同学,他们的贴纸数量分别为1、7、3、5、9,请找出贴纸数量最多的3个同学。对于这个问题,我们一眼就能看出答案,但是如何用编程的方法来解决呢?
第一步,准备10个空桶子,将它们按照1—10进行编号。将每个桶子标记为0,表示桶子是空的,如图1。代码见图2,此时的循环控制变量既控制循环次数,又与桶子编号重叠。
第二步,输入第1个同学的贴纸数量1。将1号桶标记为1,表示桶子不是空的。输入第2个同学的贴纸数量7。
登录APP查看全文
