首页 > 编程语言 >python: Bubble Sort

python: Bubble Sort

时间:2023-09-21 22:59:17浏览次数:42  
标签:Sort elements python SortingAlgorithms PyCharm import array Bubble

 

# encoding: utf-8
# 版权所有 2023 涂聚文有限公司
# 许可信息查看:
# 描述:
# Author    : geovindu,Geovin Du 涂聚文.
# IDE       : PyCharm 2023.1 python 311
# Datetime  : 2023/9/21 21:55
# User      : geovindu
# Product   : PyCharm
# Project   : EssentialAlgorithms
# File      : SortingAlgorithms.py
# explain   : 学习

import tkinter as tk
from tkinter import ttk
import itertools
import math
import sys
import os


class SortingAlgorithms(object):
    """
    排序算法
    """


    def BubbleSort(array:list):
        """
        1。Bubble Sort冒泡排序法
        :return:
        """
        # loop to access each array element
        for i in range(len(array)):

            # loop to compare array elements
            for j in range(0, len(array) - i - 1):

                # compare two adjacent elements
                # change > to < to sort in descending order
                if array[j] > array[j + 1]:
                    # swapping elements if elements
                    # are not in the intended order
                    temp = array[j]
                    array[j] = array[j + 1]
                    array[j + 1] = temp

    def BubbleSort2(array:list):
        """
        1。Bubble Sort冒泡排序法
        :return:
        """

        # loop through each element of array
        for i in range(len(array)):

            # keep track of swapping
            swapped = False

            # loop to compare array elements
            for j in range(0, len(array) - i - 1):

                # compare two adjacent elements
                # change > to < to sort in descending order
                if array[j] > array[j + 1]:
                    # swapping occurs if elements
                    # are not in the intended order
                    temp = array[j]
                    array[j] = array[j + 1]
                    array[j + 1] = temp

                    swapped = True

            # no swapping means the array is already sorted
            # so no need for further comparison
            if not swapped:
                break

  

 

# encoding: utf-8
# 版权所有 2023 涂聚文有限公司
# 许可信息查看:
# 描述:
# Author    : geovindu,Geovin Du 涂聚文.
# IDE       : PyCharm 2023.1 python 311
# Datetime  : 2023/9/21 22:00
# User      : geovindu
# Product   : PyCharm
# Project   : EssentialAlgorithms
# File      : SortingExample.py
# explain   : 学习


import ChapterOne.SortingAlgorithms


class Example(object):
    """"
    实例
    """

    def Bubble(self):
        data = [-2, 45, 0, 11, -9]
        ChapterOne.SortingAlgorithms.SortingAlgorithms.BubbleSort(data)
        print('冒泡排序法 Sorted Array in Ascending Order:')
        print(data)

  

调用:

    exm=BLL.SortingExample.Example()
    exm.Bubble()

  

 

标签:Sort,elements,python,SortingAlgorithms,PyCharm,import,array,Bubble
From: https://www.cnblogs.com/geovindu/p/17721172.html

相关文章

  • Python - 读取CSV文件发现有重复数据,如何清洗以及保存为CSV文件,这里有完整的过程!!!!
    语言:Python功能:1、清洗CSV文件中重复数据。2、保存为CSV文件大体流程:1、首先观察CSV文件中的数据布局格式如何?2、通过csv包读取数据。并根据规则使用continue,来跳过本次循环,并将所需数据保存到列表A中,当列表A中的数据变成len(列表A)==2时,将此数据保存到列......
  • Python中numpy出现has no attribute '_no_nep50_warning'错误怎么办?
      本文介绍在Python中,numpy库出现报错module'numpy'hasnoattribute'_no_nep50_warning'的解决方法。  一次,在运行一个Python代码时,发现出现报错module'numpy'hasnoattribute'_no_nep50_warning',如下图所示。  其中,这一代码本来在Windows平台下运行是没有问题的,......
  • 编译 OpenCV 的 Python 依赖
    这一次编译OpenCV的Python依赖为了方便运行我们使用Docker进行编译,环境准备如下:系统依赖:Ubuntu18.04Python版本:3.6,Ubuntu18.04官方源安装的默认版本OpenCV版本:3.4.16,是目前3.x的最新版CMake版本:3.10GCC版本(含C++):7.5我们首先拉取并进入镜像:dock......
  • 20230921-python的get请求和post请求区别
    1.。get请求  2。post请求   ......
  • python+playwright 学习-81 page.expect_request()捕获网络请求
    前言page.expect_request()可以捕获网页上发出去的请求,当有多个请求时,可以根据请求url,请求方式判断。expect_request官方文档示例withpage.expect_request("http://example.com/resource")asfirst:page.get_by_text("triggerrequest").click()first_request=firs......
  • python: Essential Algorithms
     #encoding:utf-8#版权所有2023涂聚文有限公司#许可信息查看:#描述:#Author:geovindu,GeovinDu涂聚文.#IDE:PyCharm2023.1python311#Datetime:2023/9/2121:28#User:geovindu#Product:PyCharm#Project:EssentialAlgor......
  • Python 内置数据类型详解
    内置数据类型在编程中,数据类型是一个重要的概念。变量可以存储不同类型的数据,不同类型可以执行不同的操作。Python默认内置了以下这些数据类型,分为以下几类:文本类型:str数值类型:int、float、complex序列类型:list、tuple、range映射类型:dict集合类型:set、frozenset布尔类型......
  • 【C#】【Python】【实例】统计多个文件夹下的图片
    因工作需要繁琐的进行同一目录多个文件夹下的图片统计,便使用代码来解决。需求:统计的是多少个文件夹包含了图片,并非是统计有多少张图。 我们先用Python来创建一个现场环境(巩固巩固py知识):1importos23#根目录4root_path=r"C:\Users\Desktop\1111"56forit......
  • 在不用插件和断网的情况下怎么实现编译python?
    要在不使用插件和断网的情况下编译Python代码,您通常不需要进行编译,因为Python是一种解释型语言,它将代码逐行执行而不需要显式编译过程。然而,如果您希望将Python代码打包成一个独立的可执行文件以便于分发,您可以使用一些第三方工具,如PyInstaller、cx_Freeze或Py2exe,但这些工具在没有......
  • Python中*args(参数)和 **kwargs(关键字参数)的区别
    *args--Python可以使用*args传递多个参数,但是不能使用它来传递键值对(字典)参数。**kwargs--Python另一个名为**kwargs的参数允许我们将字典类型的键值对参数传递给函数。注:两者均支持可变数量的参数传递。......