码迷,mamicode.com
首页 >  
搜索关键字:改进冒泡    ( 16个结果
笔试,面试,C/C++,数据结构单链表排序(改进冒泡排序)
voidBubbleSortNode(SListNode*&pHead)//单链表排序 { assert(pHead); SListNode*tail=NULL; intBool=0;//若没有进行交换提前返回 while(tail!=pHead->next) { Bool=0; SListNode*tmp=pHead; SListNode*tmpnext=tmp->next; while(tmp->next!=tail) { if(tmp->..
分类:编程语言   时间:2016-01-05 01:35:30    阅读次数:335
数据结构之排序算法(二)-冒泡排序及改进
冒泡排序算法需要遍历几次数组。每次遍历都要比较连续相邻的元素,如果某一对相邻元素是降序,则互换它们的值,否则,保持不变。由于较小的值像“气泡”一样逐渐浮想顶部,而较大的值沉向底部,所以叫冒泡排序。 冒泡排序的图解是: 总结一句话就是:连续比较相邻的元素,降序则呼唤。有n个数,共需要比较n-1趟,第i趟,需要比较n-i次。 BubbleSort.java public class B...
分类:编程语言   时间:2015-12-21 16:21:26    阅读次数:272
选择排序
选择排序: 和冒泡排序的比较 选择排序是一种和冒泡排序很相似的排序方法,冒泡排序是通过两两比较,不断调换,逐个推进进行排序的,两两比较,和两两调换都是比较费时的,选择排序可以说是冒泡排序的一种改进.冒泡排序每趟遍历比较的目的是要找出最小值,但是过程中很多交换都是无价值的交换,很浪费时间.所以选择排序的做法是:每次遍历,只选择最值元素进行交换,这样一次遍历,只需进行一次交换即可,从而避免了其它无...
分类:编程语言   时间:2015-08-17 15:38:33    阅读次数:137
冒泡以及插入排序算法的改进
冒泡排序说明:此文中的排序算法数组,第一个数(即0下标)没有作为数据处理(i从1开始),arr[0]用作哨岗,部分排序算法(如插入排序)比较时需要用到排序思想:1.假设共有N个数,从头开始,比较相邻的两个数,如果前一个数比后一个数大,则交换位置,否则不变,继续比较。2.按照这样的方法对数组从0到N-...
分类:编程语言   时间:2015-08-14 15:10:32    阅读次数:145
排序算法(一)——冒泡排序及改进
冒泡排序 冒泡排序的效率很低,但是算法实现起来很简单,因此很适合作为研究排序的入门算法。 基本思想 对当前还未排好序的范围内的全部数,自上而下对相邻的俩个数依次进行比较和调整,让较大的数下沉,较小的数往上冒。即:每当俩相邻的数比较后发现他们的排序与排序的要求相反时,就将他们交换。每次遍历都可确定一个最大值放到待排数组的末尾,下次遍历,对该最大值以及它之后的元素不再排序(已经排好)。...
分类:编程语言   时间:2015-08-06 00:28:52    阅读次数:137
冒泡排序及尝试改进
冒泡排序是一种交换排序思想,既两两比较待排序记录的关键字(值),发现两个记录的次序(大小)相反时进行交换,直到所有记录都满足排序要求。该算法的平均时间复杂度为O(n2),冒泡排序算法时有几个可以缩短操作的方法:如果一次排序比较过程中没有发生记录位置交换,即可停止..
分类:编程语言   时间:2014-10-18 03:07:16    阅读次数:167
16条   上一页 1 2
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!