![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序算法
Marridirng
多多指教
展开
-
冒泡排序
冒泡排序的基本步骤: (1)从最后的元素开始,相邻元素两两比较,如果前一个大于后一个,则交换 (2)对每一对相邻的元素,两两比较,最终第一个位置上的元素即为最小的元素(内循环) (3)重复以上的步骤,但第一个元素除外(外循环) (4)持续对每次越来越少的元素重复以上步骤,直到没有交换为止 以上的步骤有一个问题,即使原数组已经是递增排序的,仍然需要比较,因此设置一个标记位flag=原创 2016-04-06 13:30:42 · 268 阅读 · 0 评论 -
快速排序
快速排序: 对于一个要排序的数组a[0]..a[N]来说,首先从数组中任意选出一个数作为一个标准,把数组中比该数小的都放到他前面,比它大的都放到它后面,这个过程称为一趟快速排序, 快速排序不是一种稳定的排序算法,相等元素的相对位置会发生变化。 例如:对于数组a[]={6,2,7,3,8,9}来说: (1)创建变量i=0,指向数组中的第一个元素,j=5原创 2016-04-08 16:23:05 · 182 阅读 · 0 评论 -
归并排序
归并排序: 归并排序的核心思想是采用分治法,对已有序的子序列进行合并,从而得到一个有序的序列。 例如:两个已经有序的子序列:2,4,6,8与3,5,7,首先首元素也就是2与3比较,2小于3,把2放到最终的序列中,然后拿第一个序列中的4再与3比较,4大于3,于是把3放入最终的序列中,重复以上过程最终当把7放入最终的序列之后,第一个序列中还有8未放入,将8放入最终的子序列,归并结束,已成为一个原创 2016-04-08 16:48:14 · 215 阅读 · 0 评论