插入算法——思想上移 行动下移
2016-05-22 21:44
316 查看
前言
老师光讲算法讲了估计有5,6节课了,一直在想算法这么重要啊,老师一直再强调这个事情。书上涉及到选择排序和冒泡排序,老师又讲了插入排序。之前也总结过这3个排序。学习VB的时候,对选择和冒泡的理解比较深,自己也会写这两个算法,而插入算法是新接触的。还是老毛病,每次碰到新 的东西,就是看看,从来没有行动下移过。今天老米动之以情的演讲很成功,我终于尝试着突破一下心里防线,把插入排序跳舞的视频看了一遍,自己写了 这个插入算法,虽然是用VB写的,但是运行出来了,还是挺高兴的。插入排序代码
Private Sub Command1_Click() 'Dim a(9) As Integer Dim a() '给数组赋值 'For i = 0 To 9 'a(i) = 9 - i 'Next i 'a()= {5,2,3,7,8,1,4,0,9,6} a = Array(5, 2, 3, 7, 8, 1, 4, 0, 9, 6) '插入排序 For i = 1 To 9 j = i - 1 Do While a(j) > a(i) And j >= 0 t = a(j) a(j) = a(i) a(i) = t j = j - 1 i = i - 1 If j < 0 Then Exit Do Loop Next i For i = 0 To 9 Print a(i) Next i End Sub
效果图
没有排序前的10个数
排序后的10个数
小结
没动手之前感觉什么都挺难的,其实做出来也就那么回事。其中收获有两点:一、自己在纸上写了写程序,按照自己的想法实现了小功能;二、对VB的小知识点,比如如何给数组赋值。一开始用循环写的是10个从9到0 的数,后来感觉太有序了,想弄个无序的,所以用到了动态数组。学习不止一遍,现在再学VB比第一遍容易多了,不知不觉中,一切都在变化。相关文章推荐
- 插入排序
- 书评:《算法之美( Algorithms to Live By )》
- 动易2006序列号破解算法公布
- Ruby实现的矩阵连乘算法
- C#插入法排序算法实例分析
- 超大数据量存储常用数据库分表分库算法总结
- C#数据结构与算法揭秘二
- C#冒泡法排序算法实例分析
- 算法练习之从String.indexOf的模拟实现开始
- C#算法之关于大牛生小牛的问题
- C#实现的算24点游戏算法实例分析
- c语言实现的带通配符匹配算法
- 浅析STL中的常用算法
- 算法之排列算法与组合算法详解
- C++实现一维向量旋转算法
- Ruby实现的合并排序算法
- C#折半插入排序算法实现方法
- 基于C++实现的各种内部排序算法汇总
- C++线性时间的排序算法分析
- C++实现汉诺塔算法经典实例