coutC++入门:排序(一)( 二 )
冒泡排序
冒泡排序(Bubble Sort)是一种简单的排序算法 , 基本思想是在一组数据中 , 将一个数据与后一个相邻数据相比较 , 如果后面的数据比前面的数据大(小) , 就交换这两个数据的位置 , 如此进行n-1轮交换直到没有再需要交换 , 也就是说该数列已经排序完成 。 可以看出每次循环所比较的次数在逐渐减小 , 因为一部分值已经按照顺序排好了位置 。
本文插图
这个算法的名字由来是因为比较后的元素(大或小)会经交换慢慢“浮”到数列的顶端 。
插入排序(Insertion-Sort)的算法描述是一种简单直观的排序算法 。 它的工作原理是通过构建有序序列 , 对于未排序数据 , 在已排序序列中从后向前扫描 , 找到相应位置并插入 。
本文插图
插入排序和人们打牌时所用的排序方式类似:
1、抽第一张牌 , 此时手上的牌只有一张 , 所以是有序的 。
2、再抽一张牌 , 和手上的那张牌的大小进行比较 , 比它大就放在后面 , 否则放在前面 。
3、再抽一张牌 , 和手上的牌进行比较 , 插入在合适的位置 , 保持手上的牌有序 。
4、不断重复3 , 直到牌抽完 。
本文插图
程序设计思路是进行n轮循环 ,从第一个数值开始 , 该数值可以认为已经被排序 , 取出下一个数值 , 在已经排序的数值序列中从后向前扫描 , 如果该数值(已排序)大于新数值 , 将该数值移到下一位置 , 重复对比直到找到已排序的数值小于或者等于新数值的位置然后将新元素插入到该位置后 。
推荐阅读
- 铃木|3款最具性价比入门摩托,不足万元,贝纳利铃木雅马哈都有
- 汽车|你肯定没算好,高配合资?还不如看看入门级豪华SUV
- 趣头条|凯迪拉克XT6增配两款入门车型 38.97万起售
- 汽车|宝马入门级之争!价格接近的情况下,X1和X2谁的档次更高?
- 奔驰A级|奔驰也摊牌了!入门轿车从21.18万降到14.56万,还要啥凯美瑞雅阁
- 驱动中国|入门级智能录音笔该选谁?讯飞智能录音笔A1和搜狗C1对比评测
- 奥迪|奥迪旗下首款跨界车型,高颜值高配置,入门仅售28.37万动感美学,源于"Sportback"强劲动力,尽享澎湃智能科技配置,同级少有综上:
- 老司机的小技巧|户外拉力入门首选,倒置前减配碟刹,座高775mm,电喷水冷1.38万
- 理念|全新福瑞迪来袭,新增智能互联系统,入门价更低,成功实现逆生长
- 宝马|实拍性价比超高的豪华入门级SUV,年轻时尚,舒适还有面
