当前位置: 首页 > news >正文

如何用Python实现冒泡排序

1 问题

冒泡排序是一种简单的排序算法,它也是一种稳定排序算法。其实现原理是重复扫描待排序序列,并比较每一对相邻的元素,当该对元素顺序不正确时进行交换。一直重复这个过程,直到没有任何两个相邻的元素可以交换,就表明完成了排序。那么怎么用Python实现冒泡排序呢?

2 方法

1.指向数组中相邻的两个元素(最开始是数组开头的两个元素),并比较它们的大小。

2.如果它们的顺序错了,就将它们两个的位置互换,如果顺序已经正确,就什么都不做。

3.将两个指针右移一格。重复第1、2步,直至指针到达数组末尾。

代码清单 1

import sys
st1 = [int(i) for i in input().split()]
def maopao_sort(list):
   un_sorted_len = len(list)-1
   sorted = False
   while not sorted:
       sorted = True
       for i in range(un_sorted_len):
           if list[i]>list[i+1]:
               sorted = False
               list[i], list[i+1] = list[i+1],list[i]
           un_sorted_len = un_sorted_len - 1
maopao_sort(st1)
print(st1)

3 结语

前三步骤其实是一个轮回,这个轮回结束后,最大值将被放到数组的最后,就好像最大的气泡冒出了水面一样。而冒泡排序就是不断地重复这一轮回的过程,直至整个数组的顺序正确。

http://www.lryc.cn/news/136944.html

相关文章:

  • C++Qt堆叠窗体的使用案例
  • Linux之套接字UDP实现网络通信
  • Matlab绘制二值图像
  • Kali 网络参数的配置
  • 在 Redis 中处理键值 | Navicat
  • RedisTemplate和StringRedisTemplate的区别、对比
  • 使用ChatGPT进行创意写作的缺点
  • 七、任务优先级和Tick
  • Python——三目运算语句
  • C 实现Window/DOS 键盘监听事件
  • 在vue中使用 axios 访问 API
  • java八股文面试[java基础]——浅拷贝和深拷贝
  • 【DC-DC的原理图及Layout设计要点】
  • TCP可靠性机制
  • solidity0.8.0的应用案例13:数字签名及应用:NFT白名单
  • 视频集中存储/直播点播平台EasyDSS内核无法启动是什么原因?
  • 【网络】DNS | ICMP | NAT | 代理服务器
  • 详细手机代理IP配置
  • 【C++】—— 简述C++11新特性
  • 协议的分层结构
  • Linux下彻底卸载jenkins
  • Nebula基础的查询操作介绍
  • C++ STL序列式容器(详解)
  • C++获取map最小值算法,STL---std::min_element()!
  • 如何在Java实现TCP方式发送和接收Socket消息(多线程模式)
  • SYBASE查询全量字段及对应的表名方法
  • Alions 8.6 下 Redis 7.2.0 集群搭建和配置
  • Android Retrofit 使用及原理详解~
  • 三种主要的云交付服务和安全模型
  • python爬虫实战(3)--爬取某乎热搜