有时候我们在写程序时,可能会需要对一组资料进行排序。而关於资料排序的演算法其实有很多种,这里我们先针对其中一个-Bubble sort 进行讨论。
中文常翻成气泡排序法,高中老师和我们说,气泡排序法可以想像成海底有一只鱼,他如果吐了一个泡泡,那个泡泡会慢慢的浮出水面,而那个浮出水面的泡泡就是我们已排序好的资料(该次排序的最大值或最小值)。
假设现在我们有一组资料,里面含五笔数值需要做从小到大的排序,分别是 54、25、30、43、8。
我们会需要两个回圈,外层回圈用 i
控制,内层回圈用 j
控制。如果把排序一次画成图会长下面这样:
首先,我们要从 index 0(第一个数字)和 index 1(第二个数字)开始比较,因为我们现在是做递增排序,所以,如果 index 比较小的数值大於 index 较大的数值,就要做交换。做完一次排序後会发现,我们找出了最大值,且最大值会在 index 最大的地方。
然後再继续做第二次、第三次、第四次的排序,以获得整组资料的排序结果。
我们会发现,内层回圈执行的次数会因为已排序的数字变多而变少,而最外层须执行的次数是 N-1 次。(N 是排序的数值数量)
今天介绍了 Bubble sort,让我们来写一个小作业吧!
利用 Bubble sort,让使用者能够输入 10 个数字,输出由小到大的排序结果!
>>: 【Day22】Git 版本控制 - 修改 commit 纪录:rebase
题目: 思路: 呃,我知道要用DFS,但乍看题目看不懂什麽是even-value的意思,所以只好看H...
Doc https://cloud.google.com/storage/docs/storage-...
前言 为什麽选在这个时候切入「敏捷」呢?在这之前我们谈论了「沟通」、「当责」与「透明」,这些都是展现...
这几天公司连接网路印表机的电脑报出"0x00000709"无法使用错误 目前爬文...
【第23天】部署API服务-GCP架设VM(一) 摘要 作业流程 启用GCP服务 建立VM ssh连...