C++数据结构-顺序查找算法

#include <iostream>
#define N 10
using namespace std;
//下标为0的位置暂时不用,所以多开辟一个空间
typedef struct
{
    int *elem;
    int length;
}SSTable;

//顺序查找1
int SSearch1(SSTable &s , int k) //k是要查找的值
{
    for(int i=1;i<=N;i++)
    {
        if(s.elem[i]==k)
            return i;
    }
    return 0;
}

//顺序查找2
int SSearch2(SSTable &s , int k) //k是要查找的值
{
    for(int i=s.length;i>=1;i--)
    {
        if(s.elem[i]==k)
            return i;
    }
    return 0;
}

int main()
{
    SSTable s;
    s.elem=new int[N+1];
    s.length=N;
    for(int i=1;i<=N;i++)  //初始化数据
        s.elem[i]=i;
    //int index = SSearch1(s,6);
    int index = SSearch2(s,5);
    if(index != 0)
        cout<<"找到了,在数组的第"<<index<<"个位置"<<endl;
    else
        cout<<"没找到!!!"<<endl;
    return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_43323201/article/details/84889912