算法
文章平均质量分 62
滋滋
这个作者很懒,什么都没留下…
展开
-
重载运算符
首先明白一个概念,何谓重载的运算符,并不是按照某些规则的大小,只是你希望它在排序中的先后顺序,按照同一规则,需要倒序排序的重载运算符"<"跟正序排序的重载运算符"<"里面要比较结构体部分数据的大小不同的。 其次,为什么要重载运算符,因为像结构体的的数据结构是没有机器是没有办法对他排序的,所以需要我们自定义其排序规则。 举例: struct Data{ char name[101];原创 2015-07-02 11:20:30 · 1461 阅读 · 0 评论 -
冒泡排序
原理是临近的数字两两进行比较,按照从小到大或者从大到小的顺序进行交换, 这样一趟过去后,最大或最小的数字被交换到了最后一位, 然后再从头开始进行两两比较交换,直到倒数第二位时结束,其余类似看例子 例子为从小到大排序, 原始待排序数组| 6 | 2 | 4 | 1 | 5 | 9 | 第一趟排序(外循环) 第一次两两比较6 > 2交换(内循环)原创 2015-09-19 18:40:19 · 571 阅读 · 0 评论 -
简单选择排序
前文介绍的冒泡排序存在 几种改进方法,然而效率还是很低 原因就是:无论那几种方法怎么改进,都还是基于两两交换不断推进的冒泡算法。从广义上说,都是属于冒泡算法。 那还有没有其它改进的余地呢? 冒泡算法两两交换的目的是什么?-------找出最值。 而通过这种方式取得最值得代价是很大的,因为,每次遍历,可能需要很多次交换才能找到最值,而这些交换都是很浪费时间的。原创 2015-09-19 18:48:27 · 600 阅读 · 0 评论