欢迎光临散文网 会员登陆 & 注册

Python编程算法【七】 冒泡排序

2022-09-02 21:31 作者:SPC编程爱好者  | 我要投稿

【案例内容】

对N个整数进行升序排列


【解题思路】

根据题意,假设对8个无重复的整数进行升序排列,比如用一数组来存储这8个整数:
nums = [23, 10, 198, 35, 9, 255, 86, 3]
然后用两个for循环即可实现升序排列:
第一个for,遍历数组下标从0到7的数字,即通过下标变量i,拿到数组里全部的数字。
第二个for,则再次循环遍历该数组,只不过是从第i+1项开始,因为自己不必跟自己比较,而是从i的下一项,即i+1项开始比较。比较时由于要升序,所以nums[i]和nums[j]这两个数相比,大的数要往后排,即两数交换位置。交换是由于python的便利性,可不用借助第三个变量,即可直接互相交换,如果在其他编程语言,要么得用第三个变量,要么得使用函数才能做。


【Python代码】

排序后,数字由小到大排列

扩展,如果需要由大到小,就把第二个for循环里的大于号 ">" 改为小于号 "<",至于存在相同数字的情况,则留给读者们自行尝试实践吧。

Python编程算法【七】 冒泡排序的评论 (共 条)

分享到微博请遵守国家法律