#include <stdio.h>
#define MAX 10
#define LEN 4
typedef struct {
int id;
char name[MAX];
}STU;//语句1
typedef struct {
STU * elem;
int length;
}SSTable;
STU * search(STU * ptr,int size,int id);//语句2
//语句2应该在语句1之前因为语句2使用了STU.
int search_seq(SSTable st,int id);
int main(void)
{
STU stu[LEN]={{0,""},{1,"sss"},{2,"aaa"},{3,"ddd"}};
int k=3;
SSTable st={stu,LEN};
/*if(search(stu,3,2)!= NULL)
printf("%d,%s\n",search(stu,3,2)->id,search(stu,3,2)->name);
else
printf("no record!\n");*/
/*
if(search_seq(st,k)!= NULL)
printf("%d,%s\n",search_seq(st,k)->id,search_seq(st,k)->name);
else
printf("no record!\n");*/
if(search_seq(st,k)==0)
printf("no record!\n");
else
printf("%d,%s\n",stu[search_seq(st,k)].id,stu[search_seq(st,k)].name);
return 0;
}
STU * search(STU * ptr,int size,int id)
{
for(int i=0;i<size;i++)
{
if(ptr->id==id)
return ptr;
ptr++;
if(i==size-1)
return NULL;
}
}
int search_seq(SSTable st,int id)
{
/*
for(int i=(st.length-1);i>=0;i--)
{
if(st.elem->id==id)
return st.elem;
st.elem++;
if(i==0)
return NULL;
}
*/
st.elem[0].id=id;
for(int i=st.length-1;id!=st.elem[i].id;--i)
continue ;
return i;
}