python语言小程序——排序算法1(选择排序、起泡排序)
2018-03-25 21:05
417 查看
使用python来写一些比较基础的排序算法。这里我写了两种算法,一种选择排序,一种起泡排序。
首先先定义了两个函数:一个getArray函数,随机产生0~999数字的数组,一个show函数,来展示数组。
import random
arr = [] #没有定义长度,长度为0
#随机生成一个数组
def getArray(n):
for i in range( 10 ): # 0,1,2,3,4,5...
#arr[i] 则下标越界
arr.append( random.randint(0,999) )
print('待排序的数组')
getArray(10) #调用这个函数,生成随机数组
#选择排序
def show(arr):
for i in range( len(arr) ):
print(arr[i],end=' ')
print('\n')
show( arr ) #显示刚刚产生的随机数组
输出结果如下:
首先先定义了两个函数:一个getArray函数,随机产生0~999数字的数组,一个show函数,来展示数组。
import random
arr = [] #没有定义长度,长度为0
#随机生成一个数组
def getArray(n):
for i in range( 10 ): # 0,1,2,3,4,5...
#arr[i] 则下标越界
arr.append( random.randint(0,999) )
print('待排序的数组')
getArray(10) #调用这个函数,生成随机数组
#选择排序
def show(arr):
for i in range( len(arr) ):
print(arr[i],end=' ')
print('\n')
show( arr ) #显示刚刚产生的随机数组
#选择排序算法一 print('选择排序算法一') for i in range( len(arr)-1 ): for j in range( i+1,len(arr) ): if arr[j]<arr[i]: temp = arr[j] arr[j] = arr[i] arr[i] = temp show(arr) #选择排序算法二 print('选择排序算法二') for i in range( len(arr)-1 ): index = i for j in range( i+1,len(arr) ): if arr[index]>arr[j]: index = j arr[i],arr[index] = arr[index],arr[i] #将arr[index]与arr[i]数据交换 show(arr)
#冒泡排序 #外循环 len(arr)-1 #内循环 len(arr)-i-1 #相邻的两个元素比较 getArray(10) print('待排序的数组') show(arr) print('起泡排序算法') for i in range( len(arr)-1 ): for j in range( len(arr)-i-1 ): if arr[j]>arr[j+1]: temp = arr[j] arr[j] = arr[j+1] arr[j+1] = temp show(arr)
输出结果如下:
相关文章推荐
- python语言小程序——排序算法1(选择排序、起泡排序)
- Java程序语言 冒泡排序、选择排序、插入排序
- python排序算法-冒泡排序,选择排序,直接插入排序,希尔排序,归并排序,快速排序,堆排序
- C语言数组实现冒泡排序和选择排序程序
- 三种排序算法python源码——冒泡排序、插入排序、选择排序
- 选择排序的3种语言实现方法(C java python)
- 用Python实现八大排序算法--直接选择排序
- 三种排序算法python源码——冒泡排序、插入排序、选择排序
- C 语言 排序算法,冒泡排序,选择排序,插入排序,二分查找
- 排序算法(三)冒泡、选择排序的Python实现及算法优化详解 推荐
- 3种排序算法的可视化程序 冒泡排序 选择排序 快速排序
- 算法分析中最常用的几种排序算法(插入排序、希尔排序、冒泡排序、选择排序、快速排序,归并排序)C 语言版
- 排序算法-选择排序(python)
- Python排序算法-选择排序
- Java语言基础-排序算法-选择排序
- python语言小程序——排序算法3(基数排序)
- python 实现排序算法(三)-选择排序和冒泡排序
- python实现2种简单的排序算法--冒泡排序和选择排序
- 11.java语言基础-排序算法-选择排序
- 关于程序语言的选择学习 java/python/scala