顺序查找算法

//顺序查找法
#include <iostream>

using namespace std;
//第一种
int straipass(int *SqList,int key,int len)
{
    int i;
    SqList[0]=key;
    //从右往左查找第一个与key匹配记录的位置
    for(i=len;SqList[i]!=key;--i);
    return i;//查找成功返回位置i
}
//第二种
int Search(int *SqList,int key,int len)
{
    //从左向右查找
    for(int index=0;index<len;index++)
    {
        if(SqList[index]==key)
            return index;
    }
    return -1;
}
int main(int argc, char *argv[])
{
    int Array[10]={1,5,3,2,6,7,9,0,8,4};
    //cout<<"3的位置是:"<<straipass(Array,3,10)<<endl;
    cout<<"3的位置是:"<<Search(Array,3,10)<<endl;
    return 0;
}
时间: 2024-10-14 04:59:50

顺序查找算法的相关文章

顺序查找算法和二分查找算法

顺序查找算法 int lin_Search(const int array[],int size,int key) { int index; for (index = 0;index <= size-1;++index) if (key==array[index]) return index; return -1; } 二分查找算法 int bin_Search(const int array[],int low,int high,int key) { int index; while ( hi

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

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

算法:顺序查找与折半查找

资料摘自:<数据结构c++语言描述> typedef int DataType; //顺序查找算法 //用顺序查找在n元数组list中查找与key等值的元素,返回该数组元素的下标 //若未找到,则返回-1 int SeqSearch(DataType List[], int n, DataType key) { for(int i = 0; i < n; i++) { if(List[i] == key) { return i; } } return -1; } /* *顺序查找的复杂度

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

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

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

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

顺序表查找算法及其优化

顺序查找算法实现如下: var arr = [5, 2, 4, 3, 1] , sequentialSearch = function(arr, val) { var i = 0 , len = arr.length; for ( ; i < len; i++) { // 比较一次 if (arr[i] === val) { // 比较二次 return i; } } return i; // 返回len,则说明查找失败 } 这里并不是足够完美, 因为每次循环时都需要对i是否越界, 即是否小于l

顺序查找

顺序查找属于查找中较容易的一个方法,且对数据是否已经排序没有要求,是很常用的一个查找算法. 但缺点是必须一个一个数字进行比较查找,查找所需步骤可能较多. 顺序查找算法的思想是,将目标与待查找数据进行比较,若发现与目标数据相同的数据,则查找停止, 返回此时被找到的数据的位置. // 算法设计 顺序查找 # include <stdio.h> int FindBySeq(int *ListSeq, int ListLength, int KeyData) // ListLength 表示数组长度

14.查找概论与顺序查找

一.查找概论 1.查找:即根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素(或纪录).若表中不存在关键字等于给定值的纪录,则称查找不成功,此时查找的结果可给出一个"空"纪录或"空"指针.另外,查找表按照操作方式来分有两大种:静态查找表和动态查找表. (1)查找表(Search table):是由同一类型的数据元素(或纪录)构成的集合: (2)关键字(Key):是数据元素中某个数据项的值,又称为键值,用它可以标志一个数据元素,也可以标志一个纪录的某个数

顺序查找JAVA实现

顺序查找又称线性查找:    基本思想:从查找表的一端开始,向另一端逐个按给定值K与关键字进行比较,若找到,查找成功;    并给出记录在表中的位置:若整个表检测完,仍未找到与K值相同的关键字,则查找失败;    优点:对表中数据的存储没有要求,对于链表,只能进行顺序查找:    缺点:当n值很大时,平均查找长度较大,效率低: import java.util.Scanner; public class OrderSearch { /** * 顺序查找算法 * * @param srcArray