2019年1月10日
摘要: 插入排序的思想比冒泡、选择要复杂,效率也比前两者更高。插入排序算法中运用了分治、逆向冒泡等思想,假设i之前的都是排好序的,i之后的都是待比较并排序的,然后逐次逆向向前比较,若小于前值,则将前值循环依次后移(等于该值向前冒泡,但减少了交换次数),最后在合适的位置插入用来比较的值。采用两层循环,第一层循 阅读全文
posted @ 2019-01-10 20:51 Burkut 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 选择排序的算法复杂度与冒泡排序类似,其比较的时间复杂度仍然为O(N2),但减少了交换次数,交换的复杂度为O(N),相对冒泡排序提升很多。算法的核心思想是每次选出一个最小的,然后与本轮循环中的第一个进行比较,如果需要则进行交换。 阅读全文
posted @ 2019-01-10 16:43 Burkut 阅读(596) 评论(0) 推荐(0) 编辑
摘要: 最经典的入门排序算法,冒泡排序,dart语言实现。数组仍然采用随机生成的数组,使用dart内置的List 的generate方法,排序前后分别打印出数组,以观察效果。 阅读全文
posted @ 2019-01-10 14:51 Burkut 阅读(695) 评论(0) 推荐(0) 编辑
  2019年1月8日
摘要: 本文比第一篇,采用了类实现。增加了运算符重载等功能。本来有序数组是不能修改某个位置的值的,因为这样会打破数组的有序性;但为了演示,保留了修改的方法,但为此增加了排序。 阅读全文
posted @ 2019-01-08 18:45 Burkut 阅读(262) 评论(0) 推荐(0) 编辑
  2019年1月7日
摘要: 这是用dart语言实现的数组,因为dart内置List,且面向对象,本代码故意没有使用类和内置的List的部分特性。为了保证运行效果,采用随机数进行增删改查。 阅读全文
posted @ 2019-01-07 15:48 Burkut 阅读(466) 评论(0) 推荐(0) 编辑
  2018年12月24日
摘要: 1 // import 'dart:convert'; 2 import 'dart:io'; 3 4 main() async { 5 var src = File('./lib/convert/source.txt'); 6 var output = File('./lib/convert/output.txt'); 7 8 var ins = src.ope... 阅读全文
posted @ 2018-12-24 11:47 Burkut 阅读(156) 评论(0) 推荐(0) 编辑