加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python 基本排序算法

发布时间:2020-12-20 10:44:07 所属栏目:Python 来源:网络整理
导读:# !/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2019/6/24 下午7:54 # @Author : lb # @File : test.py import numpy as nparr = np.random.randint(1000,size=1000 ) print type(arr) # 冒泡排序 def buble_sort(arr): return for i in xrange(
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2019/6/24 下午7:54
# @Author  : lb
# @File    : test.py
import numpy as np
arr = np.random.randint(1000,size=1000)
print type(arr)


# 冒泡排序
def buble_sort(arr):
    return
    for i in xrange(len(arr)):
        for j in xrange(len(arr)-i-1):
            if arr[j] > arr[j+1]:
                tmp = arr[j+1]
                arr[j+1] = arr[j]
                arr[j] = tmp
    return arr

# 选择排序
def sel_sort(arr):
    for i in xrange(0,len(arr)):
        min = arr[i]
        pos = i
        for j in xrange(i,len(arr)):
            if arr[j] < min:
                pos = j
                min = arr[j]
        if pos != i:
            tmp = arr[pos]
            arr[pos] = arr[i]
            arr[i] = tmp
    return arr


# 插入排序
def insert_sort(arr):
    if len(arr) <= 1:
        return arr
    for i in xrange(1,len(arr)):
        tmp = arr[i]
        for j in xrange(i,-1,-1):
            if arr[j-1] > tmp:
                arr[j] = arr[j-1]
            else:
                break
        arr[j] = tmp
    return arr


# shell希尔排序
def shell_sort(arr):
    gap = len(arr) // 2
    while gap > 0:
        for i in xrange(gap,len(arr)):
            j = i
            tmp = arr[i]
            while j >= gap and arr[j-gap] > tmp:
                arr[j] = arr[j-gap]
                j -= gap
            arr[j] = tmp
        gap //= 2
    return arr
print shell_sort(arr)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读