四、顺序查找

  查找方式:顺序查找和折半查找(二分查找);如果数据已排序,可使用折半查找和顺序查找;如果数据未排序,使用顺序查找。

  顺序查找速度慢。

#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, 10, 3);
    cout << "位置下标:" << rtn << endl;

    system("pause");
    return 0;
}

int SequentialSearch(int List[], const int size, const int value)
{
    int i;
    for( i = 0; i < size; i++)
    {
        if(List[i] == value)
            return i;
    }

    if(i = size)
        return -1;
}

上例只能查找第一次出现的位置。

时间: 2024-11-11 05:07:40

四、顺序查找的相关文章

一起talk C栗子吧(第二十四回:C语言实例-顺序查找)

各位看官们,大家好,上一回中咱们说的是与队列相关的例子,这一回咱们说的例子是:顺序查找.闲话 休提,言归正转.让我们一起talk C栗子吧! 看官们,在编写程序中,我们经常需要查找我们想要元素.就好比你想要在互联网中查找什么东西时,肯 定会使用百度或者google去搜索. 查找是最常用使用的功能,我们今天就来说说查找的方法:顺序查找.为了让大家容易理解查找方法,我 们把查找的范围限定为某些容器,这些容器可以是我们前面说过的链表,栈,队列 .查找的内容就是这些 容器中的某个元素. 有了我们约定的这

从零开始_学_数据结构(四)——查找算法、索引、二叉排序树

查找算法 基本概念: (1)关键字:假如有结构 struct Node //一个结点,存储数据和指针 { DATA data; //数据属性,用于存储数据 int key; //假设key为int值,其在整个表里是唯一的 //指针域,具体略,指向其他结点,或者是数组的下标 }; key值便是关键字,对于每一个结点而言,其key值都是不一样的(不一定必须是int值).因此,当我们查找数据时,只要知道其key值,然后对比key值和我们要查找的key值是否相同,便能判断是否是我们要查找的数据了. 优点

查找算法:二分查找、顺序查找

08年9月入学,12年7月毕业,结束了我在软件学院愉快丰富的大学生活.此系列是对四年专业课程学习的回顾,索引参见:http://blog.csdn.net/xiaowei_cqu/article/details/7747205 查找算法 查找算法是在存在的序列(list) 中查找特定的目标(target),要求序列中每个记录必须与一个关键词(key)关联才能进行查找. 查找算法通常需要两个输入: 1.被查找的序列 2.要查找的关键词 查找算法的输出参数和返回值: 1.返回类型为 Error_co

2. C#数据结构与算法 -- 查找算法(顺序查找,哈希查找,二分查找(折半),索引,二叉)

1. 顺序查找算法 ===================================================== 算法思想简单描述: 最突出的查找类型就是从记录集的开始处顺次遍历每条记录,直到找到所要的记录或者是 到达数据集的末尾.这就是所谓的顺序查找.顺序查找(也被称为线性查找)是非常容易实现 的.从数组的起始处开始,把每个访问到的数组元素依次和所要查找的数值进行比较.如果找 到匹配的数据项,就结束查找操作.如果遍历到数组的末尾仍没有产生匹配,那么就说明此数 值不在数组内. ==

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

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

顺序查找,折半查找,二叉排序树的建立,哈希表的建立

以下四个验证性实验都做. (1)顺序查找验证 (2)折半查找验证 (3)二叉排序树的建立 (4)哈希表的建立 #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> #include<string.h> #include<algorithm> using namespace std; class dijiuzhang { public: int a[1

小朋友学数据结构(5):顺序查找法

小朋友学数据结构(5):顺序查找法 查找是最常见的数据操作之一,也是数据结构的核心运算之一,其重要性不言而喻. 顺序查找是最简单的查找策略,对于小规模的数据,顺序查找是个不错的选择. (一)基本思想 从数据的第一个元素开始,依次比较,直到找到目标数据或查找失败. 1 从表中的第一个元素开始,依次与关键字比较. 2 若某个元素匹配关键字,则查找成功. 3 若查找到最后一个元素还未匹配关键字,则查找失败. 1.png (二)时间复杂度 顺序查找平均关键字匹配次数为表长的一半,其时间复杂度为O(n).

查找之一顺序查找

一. 1 public class Sequential_SearchDemo01 { 2 static int[] num = {1,3,4,6}; 3 public static void main(String[] args) { 4 int key = 7; 5 boolean x = Sequential_Search(key); 6 System.out.println(x); 7 } 8 private static boolean Sequential_Search(int ke

算法-符号表的实现(顺序查找和二分查找)

符号表是一种存储键值对的数据结构,支持两种操作插入和查找,就是将一组新的键值对存入表中然后根据给定的键得到对应的值,在编程语言中常用Dictionary原理类似.符号表是一种典型的抽象数据结构,在生活之中应用的场景也很多,可以根据钥匙开门,域名解析的时候的IP地址查询,字典和图书的简介和页数,key和value是密不可分的,通过key我们可以很快找到我们需要的value. 无序链表的顺序查找 主要通过Node节点存储数据,之前的博客中有关于链表的实现,详情可参考之前的博客,代码有注释就解释太多了