返回顶部

一般线性表的顺序查找

#include<iostream>
using namespace std;
#define N 10
int A[N+1]= {0,-1,89,72,10,-17,20,8,789,45,10}; //A[1]~A[10]
typedef struct { //查找表的数据结构
    int *elem; //元素存储空间基址,建表时按实际长度分配, 0 号单元留空
    int TableLen; //表的长度
}SSTable;
int Search_Seq(SSTable ST , int key) {
    int i;
    ST.elem[0]=key; //“哨兵”
    for( i=ST.TableLen;ST.elem[i]!=key;--i); //从后往前找
    return i; //若表中不存在关键字为key的元素将查找到i为0时退出for 循环
}
int main()
{
    SSTable T;
    T.elem=A;
    T.TableLen=N;
    cout<<Search_Seq(T,10);
    
    return 0;
}

posted @ 2020-08-01 16:03  tianyudizhua  阅读(376)  评论(0编辑  收藏  举报