转载

选择排序,冒泡排序

选择排序思想

第1趟,在待排序记录r[1]r[n]中选出最小的记录,将它与r[1]交换;第2趟,在待排序记录r[2]r[n]中选出最小的记录,将它与r[2]交换;以此类推,第i趟在待排序记录r[i]~r[n]中选出最小的记录,将它与r[i]交换,使 有序序列不断增长直到全部排序完毕。

冒泡排序思想

  1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个
  2. 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
  3. 针对所有的元素重复以上的步骤,除了最后一个。
  4. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较

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
正文到此结束
本文目录