[算法学习笔记]排序——插入排序
来源:互联网 发布:跳跃网络充值积分 编辑:程序博客网 时间:2024/06/06 05:59
插入排序
插入排序是最简单的一种排序方法,对于少量的数据排序是十分有效的。插入排序十分容易理解,平时玩扑克时,在理牌的过程中就是使用了插入排序的思想。
可以通过这张图片来直观的了解
下面是一张插入排序的动态图。
下面使用c语言来实现这一算法
#include <stdio.h>void insertionSort(int [], int);int main(){ int num[10]; int i; for(i = 0; i < 10; i++){ scanf("%d", num + i); } insertionSort(num, 10); for(i = 0; i < 10; i++){ printf("%d\t", num[i]); } printf("\n"); return 0;}void insertionSort(int num[], int size){ int i; for(i = 1; i < size; i++){ int key = num[i]; int j = i - 1; while(j >= 0 && num[j] > key){ num[j + 1] = num[j]; j--; } num[j + 1] = key; }}
下面是使用python来完成的插入排序,用到了切片的技巧
#coding:utf-8def insertionSort(n): if len(n) == 1: return n; b = insertionSort(n[1:]) m = len(b) for i in range(m): if n[0] <= b[i]: return b[:i] + [n[0]] + b[i:] return b + [n[0]]if __name__ == '__main__': num = raw_input().split(" "); for i in range(len(num)): num[i] = int(num[i]); num = insertionSort(num) print num
感觉python的黑魔法好厉害 0.0
1 0
- [算法学习笔记]排序——插入排序
- 插入排序算法学习——算法导论学习笔记
- 算法学习笔记----插入排序
- 算法学习笔记--插入排序
- [学习笔记]排序算法之插入排序
- Java学习笔记排序算法----------插入排序
- 算法导论学习笔记——插入排序
- 排序—插入排序算法
- 排序算法—插入排序
- 算法学习笔记之插入排序算法
- 算法导论笔记——插入排序
- 学习算法导论——插入排序
- 插入排序算法笔记
- 插入排序算法笔记
- 算法学习笔记之插入排序
- 插入排序-算法导论学习笔记
- 插入排序-《算法导论》学习笔记一
- 算法学习笔记之插入排序
- Leetcode题解 343. Integer Break
- git for github步骤
- 编译器之语义分析
- PLSQL Developer设置
- Android 中LayoutInflater原理分析
- [算法学习笔记]排序——插入排序
- Multinomial logistic regression
- 最小公倍数
- $.ajax()方法详解
- KMP算法部分匹配值计算-Java实现
- oracle怎么导入dmp文件
- 骨牌平铺问题
- 数据库对比工具
- Java 注解