1,快速查找最大值和最小值
# include <stdio.h>
void main()
{
int a[4] = {
12,13,14,15};
int max = 0,i;
for(i = 1;i<4;i++)
{
if(a[max] < a[i])
{
max = i;
}
}
printf("%d",a[max]);
getchar();
}
2,二分查找
(输入一个数字,查找是否在数组中存在,有则输出下标,无则输出-1)
二分查找有一个前提,就是数组是从小到大排列(不嫌别扭的话也可以从大到小)。程序运行的流程,类似于猜数字的游戏,给定一个区间,取中间值,大了则把后面全部排出,小了就把前面的全部排除,搜索范围以每次一半的速度缩小。
如果我们想把这个东西搞复杂:可以采用随机数,生成一个数组。然后输入任意一个数作为待搜索值,然后将生成的数组进行冒泡排序,最后再进行二分查找。 其实就是尽量把数据从具体的变为抽象的,或者说随机的。
# include <stdio.h>
void main()
{
int key;
int a[5] = {
1,2,3,4,5};
int search(int a