(1)冒泡排序
定义:比较相邻的元素大小,将小的前移,大的后移,就像水中的气泡一样,最小的元素经过几次移动,会最终浮到水面上。
代码实现:
![](https://img.haomeiwen.com/i11352580/158250d43e3d49f2.png)
输出结果:
![](https://img.haomeiwen.com/i11352580/0a3978720be16800.png)
(2)二分法
定义:二分法是一种快速查找的方法,时间复杂度低,逻辑简单易懂,总的来说就是不断的除以2除以2.
例如需要查找有序数组arr里面的某个关键字key的位置,那么首先确认arr的中位数或者中点center,下面分为三种情况:
假如arr[center]>key,说明key在arr中心左边范围;
假如arr[center]
假如arr[center]=key,说明key在arr中心。
规定:
范围每次缩小一半,写个while的死循环知道找到为止。
二分法查找非常快且非常常用,但是唯一要求是要求数组是有序的
代码实现:
![](https://img.haomeiwen.com/i11352580/285cb01f38713078.png)
输出结果:
![](https://img.haomeiwen.com/i11352580/c0294f5024515dbd.png)
网友评论