python 插入排序 与 冒泡排序

# encoding: utf:8

l = [5, 6, 9, 11, 34, 66, 6, 8, 7]

def twoPointSearch(l):
    for i in range(len(l)):
        min_index = i
        for j in range(i+1, len(l)):    #####循环判断得出依次次最小直的索引
            if l[min_index] > l[j]:
                min_index = j
        l[i], l[min_index] = l[min_index], l[i]  ####l[i] 中存放最小的值aa
    return l

a = twoPointSearch(l)
print(a)

####冒泡排序
‘‘‘
>>> list(range(10,0,-1))
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
‘‘‘

def bubble_Sort(l):
    for i in range(len(l)-1,0,-1):
        for j in range(len(l)-1):
            if l[j] > l[i]:
                l[i],l[j] = l[j],l[i]   ###### l[i] 中存放的循环判断后依次次最大直,先赋值的是最后一个元素
    return l

b = bubble_Sort(l)
print(b)

输出结果:

[5, 6, 6, 7, 8, 9, 11, 34, 66]
[5, 34, 6, 6, 7, 8, 9, 11, 66]

时间: 2024-12-28 09:05:24

python 插入排序 与 冒泡排序的相关文章

选择排序、插入排序、冒泡排序python实现

选择排序的时间复杂度为O(n^2),是不稳定的排序 冒泡排序的时间复杂度最好情况下为O(n),最坏情况下为O(n^2),平均情况下为O(n^2),是稳定的排序 插入排序的时间复杂度最好情况下为O(n),最坏情况下为O(n^2),,平均情况下为O(n^2),是稳定的排序 1.选择排序 def selection(lista): leng=len(lista); for i in range(0,leng): index=i; min=lista[i]; for j in range(i,leng)

用python实现插入排序和冒泡排序

插入排序和冒泡排序的概念我就不解释了吧 ...插入排序代码: 1 if __name__ =='__main__': 2 l = [4,1,9,13,34,26,10,7,4] 3 4 #=========================insert_sort========================= 5 def insert_sort(l): 6 for i in range(len(l)): 7 min_index = i 8 for j in range(i+1,len(l)):

插入排序、冒泡排序、选择排序、希尔排序、快速排序、归并排序、堆排序和LST基数排序——C++实现

首先是算法实现文件Sort.h,代码如下: /* * 实现了八个常用的排序算法:插入排序.冒泡排序.选择排序.希尔排序 * 以及快速排序.归并排序.堆排序和LST基数排序 * @author gkh178 */ #include <iostream> template<class T> void swap_value(T &a, T &b) { T temp = a; a = b; b = temp; } //插入排序:时间复杂度o(n^2) template<

C语言实现直接插入排序,冒泡排序以及二分查找(巩固理解记忆)

C语言实现直接插入排序,冒泡排序以及二分查找(巩固理解记忆) 虽然直接插入排序,冒泡排序以及二分查找是算法中最为基础以及老掉牙的话题,但作为一名算法的深爱者,有时候无聊时候总会将这些简单的话题重新理解并敲写一番,目的只是为了得到理解娴熟的程度.而且,我觉得越是简单基础的东西,有时候更应该反复的去敲写,深化它,并最终让其中的思想内化为自己的一部分.待到他日一提起之时,会相当娴熟的"刷刷刷..."几分钟搞定,那就很有成就感了! 因为我喜欢对于一个问题进行实例的剖析,进而再转化为特有的用某种

常见排序算法实现(直接插入排序,冒泡排序,快速排序,建大选择排序)

常见的排序算法实现(直接插入排序,冒泡排序,快速排序,建大选择排序),还有几个下次写上. #include "stdio.h" #include "stdlib.h" #include "malloc.h" #include <iostream> using namespace std; #define N 10 void showArr(int a[]); void InsertSort(int a[]);    //直接插入排序

python插入排序

def insert_sort(list): for i in range(len(list)): while i > 0 and list[i] < list[i-1]: temp = list[i] list[i] = list[i-1] list[i-1] = temp i = i-1 list = [4,4,11,23,4,5,7,9,0,111] insert_sort(list) list [0, 4, 4, 4, 5, 7, 9, 11, 23, 111] python插入排序

python插入排序演示源码

工作闲暇时间,把写内容过程较好的内容段做个备份,下面的内容内容是关于python插入排序演示的内容,应该能对各朋友也有用处. def insert_sort(t): for i in xrange(len(t)): key = t[i] j = i - 1 while j>-1 and t[j]>key:#如果当前值比上一位小,循环结束 t[j+1] = t[j] j -= 1 t[j+1] = key #确保待插入值被插入到合适的地方 return t t = [1,3,2,4]print

python 实现插入排序、冒泡排序、归并排序

1 def InsertSort(A): 2 '''插入排序算法:传入一个list,对list中的数字进行排序''' 3 print('插入排序前list元素顺序:',A) 4 length=len(A) 5 for i in range(1,length):#从第二个开始 6 key=A[i] 7 j=i-1 8 while j>=0 and A[j]>key: 9 A[j+1]=A[j] 10 j=j-1 11 A[j+1]=key 12 print('插入排序后的list元素顺序:',A

python列表去重 冒泡排序 插序排序

python对列表去重例子 #!/usr/bin/env python arr_num1 = [1,2,3,4,2,12,3,14,3,2,12,3,14,3,21,2,2,3,4111,22,3333,4] arr_num2 = [2,1,3,2,43,234,454,452,234,14,21,14] num_list = [] for i in arr_num1:     if i in arr_num2 and i not in num_list:      num_list.appen