一般线性表的顺序查找
#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; }