顺序查找SequentialSearch

#include <stdio.h>
int SequentialSearch(int *a,int n,int x);
int main(void){
//num代表查找的数
int num,result;
int a[10]={2,4,6,9,5,0,8,7,1,3};
printf("请输入你要查找的数字:");
scanf("%d",&num);
//result返回的是下标
result = SequentialSearch(a,10,num);
if(result==-1)
printf("没找到那些数据!!!\n");
else
printf("在a[%d]里找到%d\n",result,num);
return 0;
}
//指针是数组,代表的数组名
//定义一个指针数组,数组的个数,要查找的元素
int SequentialSearch(int *a,int n,int x){
int i;//代表索引,即下标位置
for(i=0;i<n;i++){
//代表查到
if(a[i] == x){
return i;
}
}
//代表没找到,即这个数组中没有要找的数
if(i==n)
return -1;

}

时间: 2024-11-08 08:34:49

顺序查找SequentialSearch的相关文章

《数据结构、算法与应用》8.(顺序查找数组中第一个出现指定元素的位置)

最近在读<数据结构.算法与应用>这本书,把书上的习题总结一下,用自己的方法来实现了这些题,可能在效率,编码等方面存在着很多的问题,也可能是错误的实现,如果大家在看这本书的时候有更优更好的方法来实现,还请大家多多留言交流多多指正,谢谢 8. 从左至右检查数组a[0:n-1]中的元素,以查找雨x相等的那些元素.如果找到一个元素与x相等,则函数返回x第一次出现所在的位置.如果在数组中没有找到这样的元素,函数则返回-1. // // main.cpp // Test_08 // // Created

算法——蛮力法之顺序查找和蛮力字符串匹配

接着昨天的选择排序和冒泡排序之后,今天来实现一下顺序查找和蛮力字符串匹配两个算法. 顺序查找就是将给定的查找键和列表周玲的每个元素进行比较,直到找到一个匹配成功的元素返回该元素下标,查找成功,或者查找整个列表二没有匹配元素,查找失败.这里记录一下限位器版顺序查找方法.限位器就是指将查找键添加到列表最后,这样在查找的过程中,不用再每次都判断是否到达列表尾部来判断查找是否失败,而是在查找结束后,判断匹配元素下标是否小于n(假设列表有n个元素)来判断查找是否成功.下面是限位器版顺序查找算法: 限位器版

【Java_Base】常用查找算法:顺序查找、二分查找

顺序查找 从第一个元素开始顺序比较查找. 二分查找 二分查找前提条件: 已排序的数组中查找 二分查找的基本思想是: 首先确定该查找区间的中间点位置: int mid = (low+upper) / 2; 然后将待查找的值与中间点位置的值比较: 若相等,则查找成功并返回此位置. 若中间点位置值大于待查值,则新的查找区间是中间点位置的左边区域. 若中间点位置值小于待查值,则新的查找区间是中间点位置的右边区域. 下一次查找是针对新的查找区间进行的. 1 public class Search{ 2 p

算法与数据结构之顺序查找(C语言)

1 #include<stdio.h> 2 #include<stdlib.h> 3 //顺序查找基本思想:从线性表的一端开始,逐个检查关键字是否满足给定的条件 4 int SequentialSearch(int *a,int n,int x); 5 6 int main(void) 7 { 8 int m[10]={2,4,6,8,0,1,3,5,7,9}; 9 int num,结果; 10 printf("请输入要查找的数:"); 11 scanf(&qu

Java查找算法(二): 顺序查找

[ 什么是顺序查找 ]  顺序查找又叫线性查找,是最基本的查找技术,它的查找过程是:从表中第一个或最后一个记录开始,逐个和给定的值比较,如相等则查找成功:如直到最后一个值仍不等时,则表中没有所查的记录,查找不成功. [ Java实现顺序查找 ]  public class SequentialSearch { public static void main(String[] args) { Integer target = 6; Integer[] iArr = { 3, 2, 6, 8, 5,

蛮力法-顺序查找和字符串匹配

时间总让我有后知后觉的挫感,而我,总是习惯于四处张望. 3.2.1 顺序查找 将数组中的元素和给定的查找键进行比较,直到成功匹配,或者遍历完整个数组,查找失败.可将查找键添加到数组末尾,这样就不必每次循环时都检查是否到达了表的末尾(然并卵,数组不方便在添加元素吧). 代码实现: /** * 顺序查找 * @param array 对象数组 * @param key 查找键 * @return 查找成功返回元素下标,失败返回-1 * */ public static int sequentialS

四、顺序查找

查找方式:顺序查找和折半查找(二分查找):如果数据已排序,可使用折半查找和顺序查找:如果数据未排序,使用顺序查找. 顺序查找速度慢. #include <iostream> using namespace std; int SequentialSearch(int List[], const int size, const int value); int main() { int a[] = {9,3,4,5,7,8,0,1,2,3}; int rtn =SequentialSearch(a,

数据结构(九) 查找表的顺序查找、折半查找、插值查找以及Fibonacci查找

今天这篇博客就聊聊几种常见的查找算法,当然本篇博客只是涉及了部分查找算法,接下来的几篇博客中都将会介绍关于查找的相关内容.本篇博客主要介绍查找表的顺序查找.折半查找.插值查找以及Fibonacci查找.本篇博客会给出相应查找算法的示意图以及相关代码,并且给出相应的测试用例.当然本篇博客依然会使用面向对象语言Swift来实现相应的Demo,并且会在github上进行相关Demo的分享. 查找在生活中是比较常见的,本篇博客所涉及的这几种查找都是基于线性结构的查找.也就是说我们的查找表是一个线性表,我

树的引子, 顺序查找和二分查找

顺序查找 1 Position SequentialSearch(List Tbl, ElementType K) 2 { 3 Position i; 4 Tbl->Data[0] = K; 5 for (i = Tbl->Last; Tbl->Data[i] != K; i--); 6 return i; 7 } 二分查找 1 Position BinarySearch(List Tbl, ElementType K) 2 { 3 Position Left, Right, Mid;