算法思想
它的基本思路是:从表的一端开始,顺序扫描线性表,依次将扫描到的关键字和给定值k比较,若当前扫描的关键字与k相等,则查找成功,若扫描结束,仍未发现关键字等于k的记录,则查找失败。
代码
核心代码:
/* 顺序查找法 */
/* nums[]指的是要被查找的数组;n指的是数组长度;key指的是要被查找的关键字 */
int search(int nums[],int n,int key) {
for(int i=0; i<n; i++) {
if(nums[i]==key) {
return i;// 查找成功返回在数组中的下标
}
}
return -1;// 查找失败则返回-1
}
完整代码:
#include<stdio.h>
/* 打印数组元素 */
void print(int nums[],int n) {
printf("\n");
for(int i=0; i<n; i++) {
printf("%d\t",nums[i]);
}
printf("\n");
}
/* 顺序查找法 */
/* nums[]指的是要被查找的数组;n指的是数组长度;key指的是要被查找的关键字 */
int search(int nums[],int n,int key) {
for(int i=0; i<n; i++) {
if(nums[i]==key) {
return i;// 查找成功返回在数组中的下标
}
}
return -1;// 查找失败则返回-1
}
int main() {
int nums[]= {49,38,65,97,76,13,27,49};
int n=8;// nums数组的长度
print(nums,n);
/* 查找 */
int key=65;
int r=search(nums,n,key);
printf("查找结果(成功返回下标,失败返回-1):%d",r);
return 0;
}
运行结果: