首页 > 编程语言 > 详细

Python排序算法

时间:2021-05-30 15:50:59      阅读:21      评论:0      收藏:0      [点我收藏+]

1、插入排序

def insertinto_sort(arr):
  for k in range(1, len(arr)):
    cur = arr[k]
    j = k
    while j > 0 and arr[j-1] > cur:
      arr[j] = arr[j-1]
      j -= 1
    arr[j] = cur
  return arr

2、选择排序

def select_sort(arr):
  for i in range(1, len(arr)):
    min_index = i
    for j in range(i+1,len(arr)):
      if arr[j] < arr[min_index]:
        min_index = j
    if i != min_index:
      arr[i],arr[min_index] = arr[min_index],arr[i]
  return arr

3、快速排序

def quick_sort(arr):
  if len(arr) < 2: 
    return arr
  q = arr[0]
  L = []
  E = []
  R = []
  while arr:
    cur = arr.pop(0)
    if cur < q:
      L.append(cur)
    elif cur > q:
      R.append(cur)
    else:
      E.append(cur)
  quick_sort(L)
  quick_sort(R)
  while L:
    arr.append(L.pop(0))
  while E:
    arr.append(E.pop(0))
  while R:
    arr.append(R.pop(0))
  return arr

Python排序算法

原文:https://www.cnblogs.com/l-lz/p/14827228.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!