直接插入排序(python)
来源:互联网 发布:centos 安装samba 编辑:程序博客网 时间:2024/05/16 12:55
直接插入排序算法就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的个数加1的有序数据
# -*- coding: utf-8 -*-"""Created on Wed Jul 5 08:00:32 2017"""s=[]cnt=0def data_in_func(s,cnt): print('请输入数据:') while True: flag=input('是否输入数据,n不输入,其他输入:') if flag=='n': return s,cnt data=input('input a number:') if data.isdigit(): data=int(data) s.append(data) cnt+=1 else: print('数据错误请重新输入!!!!!!!!!!') ''' def insort(s,cnt): #说明 算法书上的(c语言的),实现直接插入排序,也修改了一点 #25 12 36 9 #25 12 36 9 12 j=0 #25 25 36 9 12 j=-1退出循环 #j+1=0 s[0]=s[cnt] 12 25 36 9 12 flag_sort=0 for i in range(1,cnt): if flag_sort==0: s.append(s[i]) flag_sort=1 else: s[cnt]=s[i] j=i-1 while(s[cnt]>s[j]): s[j+1]=s[j] j-=1 if j<0: break s[j+1]=s[cnt] return s'''def insort(s,cnt): #说明 根据python语法进行修改的 for i in range(1,cnt): ''' if flag_sort==0: s.append(s[i]) flag_sort=1 else: s[cnt]=s[i] ''' j=i-1 while(s[j+1]<s[j]): s[j+1],s[j]=s[j],s[j+1] j-=1 if j<0: break return ss,cnt=data_in_func(s,cnt)print(s,cnt)s=insort(s,cnt)print('new=',s)
阅读全文
0 0
- 直接插入排序(python)
- Python 直接插入排序
- [排序] 直接插入排序(Python)
- 插入排序----直接插入排序(C、C++、Python、Shell)
- 直接插入排序 Python实现
- 直接插入排序 Python实现
- Python排序——直接插入排序
- 排序(直接插入排序)
- 学Python写算法系列(一) | 直接插入排序
- 插入排序一(直接插入排序)
- 算法---插入排序(直接插入排序)
- 直接插入排序法 -- Python实现
- python算法实践1-直接插入排序
- python实现的直接插入排序算法
- python数据结构之直接插入排序
- 插入排序(希尔排序、直接插入、折半插入排序)
- 数据结构-插入排序(直接插入排序+折半插入排序)
- 直接插入排序(稳定)
- C++拷贝构造函数详解
- Sublime Text3の快捷键设置-yellowcong
- 欢迎使用CSDN-markdown编辑器
- 关于二分图最大匹配等于最小点覆盖的证明
- 浏览器不能更新js的问题解决
- 直接插入排序(python)
- 【转】各种数据类型的取值范围 C/C++标准库中定义的各个类型最大值最小值limit.h
- css中的三个属性的区别 第九节
- RxPermission和Rx2.0的使用
- 断点传输(总结)
- extern外部方法使用
- 用CoacoPod安装Swift第三方框架遇到的坑
- MySQL的union和order by一起使用的问题
- mybatis 自定义typehandler,转换特定字段