选择排序思想
第1趟,在待排序记录r[1]~r[n]中选出最小的记录,将它与r[1]交换;第2趟,在待排序记录r[2]~r[n]中选出最小的记录,将它与r[2]交换;以此类推,第i趟在待排序记录r[i]~r[n]中选出最小的记录,将它与r[i]交换,使 有序序列不断增长直到全部排序完毕。
冒泡排序思想
- 比较相邻的元素。如果第一个比第二个大,就交换他们两个
- 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
- 针对所有的元素重复以上的步骤,除了最后一个。
- 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较
Python代码
# -*- coding: UTF-8 -*-
#选择排序
def selectSort(arr):
for i in range(len(arr)-1):
index = i
for j in range(i, len(arr)):
if arr[j] < arr[index]:
index = j
temp = arr[index]
arr[index] = arr[i]
arr[i] = temp
#冒泡排序
def bubbleSort(arr):
N = len(arr);
while N > 1:
for i in range(N):
if i < N - 1 and arr[i] > arr[i+1]:
temp = arr[i]
arr[i] = arr[i+1]
arr[i+1] = temp
N -= 1