面试官:手写一个冒泡排序,并对其改进( 三 )
上面的这张图 , 你多看几遍就理解了 , 每次排好都能选出来一哥当前数组的最大值 。 OK 。 如果你理解了之后 , 下面我们就开始写代码来实现一波 。
二、代码实现
1、基本实现
我们先来看一下基本的实现 。
上面的这种写法非常简单 , 不过我们可能会发现 , 每一趟其实得到是一个值 , 这个值可能是当前数组的最大值又或者是最小值 。
这样做的缺点:
数组有一部分是本来就有序的 , 每一趟冒泡那么将会在此部分浪费时间
2、改进
现在我们进行改进:如果我们换一种想法 , 每一趟扫描的时候 , 对那些有序的部分 , 设置一个标志 , 如果为true表示发生了交换 , 如果为false , 则没有发生交换 , 那么我们就可以直接跳过去了 。
3、继续改进
推荐阅读
- 雷神|原神:曾经有一个强力五星角色,却因各种“流言蜚语”,擦肩而过
- 次世代|韩国战队全军覆没,斗鱼选手实力强大,一人击溃一个队
- 手机游戏|LOL手游第一个世界赛,破晓杯火热开战,DKG能紧随EDG夺冠吗?
- xyg|月光败给XYG不敢去采访,怕主持人问他一个问题!根本没办法解释
- 卡牌|王者峡谷最难抓的五个英雄,暗信算一个,榜首玩起来非常快乐
- 传奇世界|传奇世界:盘点当年出现过哪些漏洞,有一个至今都存在?
- 扁鹊|裴擒虎虎年限定有变,嫦娥拒霜思配音引热议,扁鹊有一个好消息
- 绝地求生|不播绝地求生,跑去玩双马尾少女?PDD后又一个主播“沉迷”幻塔
- 光·遇|光遇:追光季复刻盘点,下一个返场先祖,可能是笛子或者灯泡斗篷
- 地下城与勇士|DNF:“全民云上”时代到来,一个过气小副本,究竟有何魅力?