排序算法–希尔排序

看过前几篇选择排序、插入排序和冒泡排序后,你认为哪个排序效率相对高点呢?我猜一定是插入排序,插入排序在部分已经正序的数组中效率要优于其他两个,今天再介绍一种插入排序的增强版-希尔排序。希尔排序又称“缩小增量排序”,由DL.Shell于1959年提出而得名。

阅读全文 –

排序算法–冒泡排序

它重复地走访过要排序的数组,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数组已经排序完成。排序的过程就像把元素慢慢的“浮”到顶端一样,故名“冒泡排序”

阅读全文 –

排序算法–插入排序

插入排序是一种简单直观的排序算法,工作原理是通过不断扩张有序序列的范围,对于未排序的数据,在已排序中从后向前扫描,找到相应的位置并插入。

阅读全文 –

排序算法–选择排序

一种最简单的排序是这样的:首先,找到数组中最小的那个元素,其次,将它和数组的第一个元素交换位置(如果第一个元素就是最小元素那么它就和自己交换)。再次,在剩下的元素中找到最小的元素,将它与数组的第二个元素交换位置。如此反复,直到将整个数组排序。这种方法叫做选择排序,因为它在不断地选择剩余元素之中的最小者

阅读全文 –

单链表的实现(C#)

最近研究数据结构,顺便写一下单链表的实现。 增加节点、删除节点,主要是当前节点和下一节点的对象指向问题。 查找节点,只需要一直next找到对应的节点即可。

阅读全文 –

JS面向对象和原型

面向对象是一种编程思想,像C#、java完全是面向对象语言。面向对象三大特性:封装、继承和多态,使程序易维护、易扩展、高效率和更安全,当然面向对象的思想javascript同样也应该支持,开发过程中学会用面向对象思想编程,你的代码质量会有质的飞跃。

阅读全文 –

Canvas绘制球体

项目中微震事件点需要用不同颜色的球体来展示能量大小,canvas只提供二维平面绘图功能,而我们需要的是有立体感的球体。怎么办?最初的想法是用PS做出几张不同颜色的小球,然后用canvas添加图片的功能添加上去,但是能量大小的不同,球体的半径也不相同,这样就得做多个大小不同,颜色不同的小球。此举感觉不妥,没有扩展性,之前有篇文章讲 Canvas绘制预警特效 提到canvas径向渐变,通过渐变效果实现预警特效。这次我们依然采用该方法,通过颜色的过渡,让视觉上有种立体的感觉。代码如下:

阅读全文 –

密码保护:2016年终总结

这是一篇受密码保护的文章,您需要提供访问密码:

文章归档

分类目录