顺序查找(LinearSearch)的总结

#include <stdio.h>   
#include <stdlib.h>   
#include <time.h>   
#define MAX 10   
#define SWAP(x,y) {int t; t = x; x = y; y = t;}   
  
int search(int[]);   //调用顺序搜索的方法
  
int main(void) {   
    srand(time(NULL));   
  
    int number[MAX+1] = {0};      
  
    int i;  
    for(i = 1; i <= MAX; i++)   
        number[i] = rand() % 100;   //使用rand函数对100取余得到的数赋值给数组Number中值
  
    printf("数列:");   
    for(i = 1; i <= MAX; i++)   
        printf("%d ", number[i]);   
  
    printf("\n输入寻找值:");   
    scanf("%d", &number[0]);   
  

    int find = search(number);   //调用顺序搜索的方法得到的索引值赋值给find


    if(find > 0)   
        printf("\n找到数值于索引 %d ", find);   
    else   
        printf("\n找不到数值");   
  
    printf("\n");   
  
    return 0;   
}   
  
int search(int number[]) {    //顺序搜索的代码
    int i = MAX;   
    while(number[i] != number[0]) i--;   
    return i;   

}   

对代码的解释;

1.

#define MAX 10 
宏定义:只要你的程序中出现了MAX,在编译时,系统就将MAX换成10
如果是#define MAX 100 那么只要你的程序中出现了MAX,在编译时,系统就将MAX换成100
它不是代表最大的限度,就是一个替换;你所说的数组输入问题,其中#define MAX 10 ,当你定义一个数组int a[MAX]时,同等于int a[10],当然可以输入超过10的数!

2.

#include <stdio.h>  
#include <stdlib.h>  

任何程序都会用到stdio.h,所以这个跟随机数函数没多大关系,<stdlib.h>包含的是随机数函数rand() 和随机数函数 srand(seed) 这两个通常配套使用,srand(seed)意思是置一个随机数种子,然后调用rand()函数得到一个-90~32767之间的整数,置种子的时候我们要求种子是不一样的,否则每次用rand()函数都会得到相同的结果。由于时间每一秒都会发生变化,因此我们选择用时间作为随机数种子,去实践的函数time()就包含在<time.h>头文件里,所以我们要用到<time.h>这个头文件。

#include <time.h>  链接:http://blog.csdn.net/lkasdolka/article/details/26966575

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值