The Fun Of Algorithm - Day8 - 冒泡排序
2021/9/7 23:08:34
本文主要是介绍The Fun Of Algorithm - Day8 - 冒泡排序,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
问题描述
对N个整数(数据由键盘输入)进行升序排列
问题分析
利用数组进行存储,利用两个相邻元素间进行比较交换的过程将一个无序表变成有序表。
假设数组元素的个数为n, 最糟的情况下需要比较的次数为((n-1)+(n-2)+…+2+1)=n(n-1)/2
算法设计
Code
# !/user/bin/python3 # -*- coding: utf-8 -*- # @author: HHVic # @desc: 冒泡排序 import time # add timer to calculate the performance # Basic performance ############################################################### start = time.time() def bubbleSort(a): #首先获取列表的总长度 n=len(a) #进行n-1次比较,控制比较的轮数 i=1 while i<=n-1: #控制每轮比较的次数 j=0 while j<n-i: if a[j]>a[j+1]: t=a[j] a[j]=a[j+1] a[j+1]=t j+=1 i+=1 #打印每轮交换后的列表 for a1 in a: print(a1,end=' ') if __name__=='__main__': print('请为列表元素赋初值,列表末尾不能有空格:') x=input() a=x.split(' ') #空格方式分割每个元素 for i in range(0,len(a)): a[i]=int(a[i]) print('你输入的列表元素为:\n',a) print('经过交换后的数组元素为:') bubbleSort(a) print('\n') end = time.time() print("The Basic Runtime is {0}".format((end-start)))
结果
请为列表元素赋初值,列表末尾不能有空格: 4 5 2 7 3 8 2 1 5 你输入的列表元素为: [4, 5, 2, 7, 3, 8, 2, 1, 5] 经过交换后的数组元素为: 1 2 2 3 4 5 5 7 8 The Basic Runtime is 18.147606134414673
这篇关于The Fun Of Algorithm - Day8 - 冒泡排序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-26解决google chrome helper 内存占用较高!
- 2024-04-01got an unexpected keyword argument
- 2024-03-30维多利亚的秘密 golang入坑系统
- 2024-03-29mongodb sort by date
- 2024-03-29go swagger
- 2024-03-25mongodb cdc
- 2024-03-25how to use go in vscode
- 2024-03-22mongooseserverselectionerror: connect econnrefused ::1:27017
- 2024-03-21pymongo insert_many
- 2024-03-18projection mongodb