刚开始接触算法,总是感觉很头疼;每次也不知道怎么使用算法,怎么写算法。我就在这里用C语腱葱炙尕言讲解“查找罪拈藉麝算法”——线性查找(LinearSearch);如果你有更好的建议,或者有疑惑,可以给我留言。如果你想了解其它算法,如冒泡排序等,在大学以及工作中必须掌握的算法,那么请关注或者收藏我,我将继续更新其它算法。
工具/原料
电脑
C语言编程工具(如visualC++code::blocks等)
方法/步骤
1、线性查找使用的条件:不要求数据表已经排好序。线性查找的工作原理:一从线性数据表中的第一个(或最后一个)记录开始查找;二依次将记录的关键字与查找关键字进行比较;(当某个记录的关键字与查找关键字相等时,即查找成功)(反之,查完全部记录都没有与之相等的关键字,则查找失败)
2、具体实现过程:第一步输入数据你可以直接将你所需要的数据存入数组,如inta[10]={3,2,4,1,7,8,6,10,5,9};也可以通过循环输入for(i=0;i<n;i++){scanf("%d",&a[i]);}来实现数据输入数组;
3、具体实现过程:第二步写循环只循环一次,如果循环窑钕仇焱结束没有找到,就结束;如果找到,也结束;for(i=0;i<10;i敫苻匈酃++){if(a[i]==7){printf("找到数字“7”。\n");break;}}如果查找数字“7”的个数,那么修改为:for(i=0;i<10;i++){if(a[i]==7){printf("找到数字“7”。\n");counter++;}}
4、具体实现过程:第二步判断如果循环找到了与你查找匹配的数据,那么就结束循环;
5、C语言代码实现:#include<挢旗扦渌;stdio.h>intmain(){inti=0,a[10]=惺绅寨瞀{3,2,4,1,7,8,6,10,5,9};printf("查找数字“7”。\n");for(i=0;i<10;i++){if(a[i]==7){printf("找到数字“7”。\n");}}return0;}
6、运行程序;成功截图如下;
7、时间复杂度为n;