1.线性搜索
2.数组映射 搜索
- 使用两个数组,相同位置的数据一一对应,共享下标。缺点就是“割裂感”
- 使用struct子数组作为元素数据,把值和对应的字符串放在一起。
3.二分搜索
- 前提:
数组中的数据是排好序的!!(一般从小到大) - 线性搜索比较费时、麻烦,没有效率
- 二分搜索思路:判断要寻找的数据是在数组的左半部分还是右半部分,依次二分,最终找到所找的数据。
注意while语句的条件(right > left),值得考虑。
二分搜索最大的好处是搜索效率会很高,
3.排序——选择排序
因为二分法搜索需要已排序的数组,所以如何对连续的数组进行排序?
- 思路:
先选择出最大的数据。遍历数组,逐步顶替最大。
接着用最大值和最后的数据交换位置,
然后遍历剩下的数组部分,如法炮制。