广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python中怎么实现冒泡排序和插入排序
  • 715
分享到

python中怎么实现冒泡排序和插入排序

2023-06-02 00:06:30 715人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

本篇文章给大家分享的是有关python中怎么实现冒泡排序和插入排序,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。  1、冒泡排序  冒泡排序的主要思想类似于水底的气泡,从水底向

本篇文章给大家分享的是有关python中怎么实现冒泡排序和插入排序,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

  1、冒泡排序

  冒泡排序的主要思想类似于水底的气泡,从水底向水平面移动时,不断变大。

  具体实现步骤如下:

  step1: 比较相邻的元素,如果第一个比第二个大,就交换他们两个。

  step2: 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。此时,最后的元素应该是最大的数。

  step3: 针对所有的元素重复以上的步骤,除了最后一个(最后一个已经是最大的了)。 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

  python3的代码如下:

  # -*- coding: utf-8 -*-

  """

  Created on Thu Dec 19 11:10:42 2019

  @author: Boge

  """

  arr_1= [6,3,9,15,4,2]

  # 冒泡排序

  def bubble_sort(arr):

  for i in range(len(arr)):

  for j in range(len(arr) - i -1):

  if arr[j]>arr[j+1]:

  arr[j],arr[j+1] = arr[j+1],arr[j]

  return arr

  # print('冒泡排序前:',arr_1)

  # print('冒泡排序后:',bubble_sort(arr_1))

  # 冒泡排序前: [6, 3, 9, 15, 4, 2]

  # 冒泡排序后: [2, 3, 4, 6, 9, 15]

  2、快速排序

  快速排序的思想主要是将数列拆成一大、一小的数列,然后再对一大一小继续分割迭代,最后实现数列的快速排序。

  具体实现步骤如下:

  step1: 先从数列中选取一个数作为基数(本人取了下标为中间对应的数组值作为基数)。

  step2: 将比这个大的数字全放在右边,比这个数小的数字放在左边,现在得到了左右两个区间。

  step3: 将左右区间分别再次执行step1,不断迭代,得到最终返回的数组=迭代(左)+[ 基数]+迭代(右)

  Python3的代码如下:

  arr_2 = [7,1,4,8,26,43,2,3]

  # 快速排序

  def quick_sort(arr):

  if len(arr) <= 1:

  return arr

  mid = arr[len(arr)//2]

  left,right = [],[]

  arr.remove(mid)

  for item in arr:

  if item >= mid:

  right.append(item)

  else:

  left.append(item)

  return quick_sort(left) + [mid] + quick_sort(right)

  # print('快速排序前:',arr_2)

  # print('快速排序后:',quick_sort(arr_2))

  # answer:

  # 快速排序前: [7, 1, 4, 8, 26, 43, 2, 3]

  # 快速排序后: [1, 2, 3, 4, 7, 8, 26, 43]

  3、插入排序郑州妇科医院哪家好 Http://mobile.chfk120.com/

  插入排序的思想就是将无序数列插入到有序数列中。本质也是两个元素比大小,满足条件就交换位置,一开始会像冒泡排序一样,但会比冒泡多一步就是交换后(a[i]=a[i+1]后)原位置(a[i]),会继续和前面的数比较满足条件交换,直到a[i+1]前面的数组是有序的。

  具体实现步骤如下:

  step1: 认定第一个元素为有序数列(第一个元素就一个,无需排序)。

  step2: 选取无序数列中的第元素与有序数列的元素依次比较,如果比前面的数小,那就把它放到这个数前面。

  python3的代码如下:

  arr_3 = [16,20,4,9,2,98,1,7]

  # 插入排序

  def insert_sort(arr):

  for i in range(1,len(arr)):

  value = arr[i]

  j = i-1

  while j >= 0:

  if arr[j] > value:

  arr[j+1] = arr[j]

  else:

  break

  j -=1

  arr[j+1] = value

  print(arr)

  return arr

  # print('插入排序前:',arr_3)

  # print('插入排序后:',insert_sort(arr_3))

  # answer:

  # 插入排序前: [16, 20, 4, 9, 2, 98, 1, 7]

  # 插入排序后: [1, 2, 4, 7, 9, 16, 20, 98]

以上就是python中怎么实现冒泡排序和插入排序,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网Python频道。

--结束END--

本文标题: python中怎么实现冒泡排序和插入排序

本文链接: https://www.lsjlt.com/news/228273.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python中怎么实现冒泡排序和插入排序
    本篇文章给大家分享的是有关python中怎么实现冒泡排序和插入排序,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。  1、冒泡排序  冒泡排序的主要思想类似于水底的气泡,从水底向...
    99+
    2023-06-02
  • C#怎么实现冒泡排序和插入排序算法
    这篇文章主要讲解了“C#怎么实现冒泡排序和插入排序算法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#怎么实现冒泡排序和插入排序算法”吧!1.选择排序(冒泡排序)升序用第一个元素跟其他元素...
    99+
    2023-06-30
  • C#实现冒泡排序和插入排序算法
    1.选择排序(冒泡排序) 升序 用第一个元素跟其他元素比较,如果该元素比其他元素,则交换,保证该元素是最小的。然后再用第二个元素跟后面其他的比较,保证第二个元素是除第一个最小的。依次...
    99+
    2022-11-13
  • JAVA小练习冒泡排序,选择排序和插入排序
    冒泡:点击(此处)折叠或打开...
    99+
    2023-06-02
  • C#算法中如何实现冒泡排序、插入排序、选择排序
    这篇文章主要介绍了C#算法中如何实现冒泡排序、插入排序、选择排序,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。冒泡排序法是数组等线性排列的数字从大到小或从小到大排序。以从小到...
    99+
    2023-06-26
  • Python怎么实现冒泡排序
    本篇内容主要讲解“Python怎么实现冒泡排序”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python怎么实现冒泡排序”吧!Python实现的源码的测试结果:def bubble_s...
    99+
    2023-06-04
  • Python实现冒泡排序
    #!/usr/bin/python # -*- coding:UTF-8 -*- def maopao(numbers):     for j in xrange(len(numbers)-1,-1,-1):...
    99+
    2023-01-31
    Python
  • JavaScript中怎么实现冒泡排序和选择排序
    本篇文章为大家展示了JavaScript中怎么实现冒泡排序和选择排序,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。算法说明算法(Algorithm)是解决问题的一种...
    99+
    2022-10-19
  • java中怎么实现冒泡排序和选择排序
    这篇文章将为大家详细讲解有关java中怎么实现冒泡排序和选择排序,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1、冒泡排序冒泡排序(Bubble Sorting)的基本思想是:通过对待排序序...
    99+
    2023-06-20
  • VB.NET中怎么实现冒泡排序
    今天就跟大家聊聊有关VB.NET中怎么实现冒泡排序,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。VB.NET冒泡排序相关代码示例:Public Sub Bubbl...
    99+
    2023-06-17
  • 怎么实现JAVA冒泡排序
    这篇文章将为大家详细讲解有关怎么实现JAVA冒泡排序,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Java的优点是什么1. 简单,只需理解基本的概念,就可以编写适合于各种情况的应用程序;2. 面向对象;3...
    99+
    2023-06-14
  • TypeScript怎么实现冒泡排序
    本篇内容介绍了“TypeScript怎么实现冒泡排序”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一. 冒泡排序的定义冒泡排序是一种简单的排...
    99+
    2023-07-05
  • Python冒泡排序算法怎么实现
    今天小编给大家分享一下Python冒泡排序算法怎么实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1. 算法描述冒泡排序(...
    99+
    2023-07-02
  • 关于Python排序问题(冒泡/选择/插入)
    前言: 学过C语言肯定接触过排序问题,我们最常用的也就是冒泡排序、选择排序、插入排序……等等,同样在Python中也有排序问题,这里我也会讲解Python...
    99+
    2023-05-16
    Python排序 冒泡排序 选择排序 插入排序
  • C#中怎么利用排序函数实现冒泡排序
    今天就跟大家聊聊有关C#中怎么利用排序函数实现冒泡排序,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。所谓冒泡排序就是在每一次排序的过程中总有一个***的值被移动到后面,值小的就像水泡...
    99+
    2023-06-17
  • 怎么用java实现冒泡排序
    这篇文章给大家分享的是有关怎么用java实现冒泡排序的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。冒泡排序public class T08 { &n...
    99+
    2022-10-19
  • 数据结构:直接插入排序,希尔排序,选择排序,堆排序,冒泡排序,快速排序,归并排序,计数排序(C实现)
    个人主页 : 个人主页 个人专栏 : 《数据结构》 《C语言》 文章目录 前言一、插入排序1.直接插入排序2.希尔排序 二、选择排序1. 选择排序2.堆排序 三、交换排序1.冒...
    99+
    2023-09-14
    数据结构 c语言 排序算法
  • 怎么使用Python实现冒泡排序算法
    这篇文章主要介绍“怎么使用Python实现冒泡排序算法”,在日常操作中,相信很多人在怎么使用Python实现冒泡排序算法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使用Python实现冒泡排序算法”的疑...
    99+
    2023-07-02
  • php怎么实现冒泡排序算法
    本文操作环境:windows10系统、php 7、thinkpad t480电脑。在给出具体的实现代码之前,我们先来简单介绍下冒泡排序。冒泡排序是一种比较简单的排序算法,它重复地走访过要排序的元素列,一次比较两个相邻的元素,如果他们的顺序(...
    99+
    2017-10-26
    php 冒泡排序
  • Java冒泡排序代码怎么实现
    这篇文章主要介绍了Java冒泡排序代码怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java冒泡排序代码怎么实现文章都会有所收获,下面我们一起来看看吧。冒泡排序冒泡排序 (Bubble Sort) 是一...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作