1198: 线性表的查找
时间限制: 1 Sec 内存限制: 128 MB
提交: 12 解决: 11
[提交][状态][讨论版][命题人:uzzoj]
题目描述
利用线性表的顺序存储的动态存储,实现查找线性表中的某个元素
输入
输入线性表的个数及相应的元素,要查找的元素
输出
如果线性表中包括该元素返回所在线性表中的位置,如果没有该元素返回-1
样例输入
5 1 2 3 4 5 5
样例输出
5
#include <stdio.h>
#include <stdlib.h>
#define ERROR 0;
#define OK 1;
typedef struct
{
int *elem;
int length;
int listsize;
} Sqlist;
int initSqList_Sq(Sqlist *LA,int a_len)
{
//建立一个空表格
LA->elem=(int *)malloc(sizeof(int)*a_len);
if(!LA->elem)return ERROR;
LA->length=0;
LA->listsize=a_len;
return OK;
}
int findList(Sqlist *LA, int shu)
{
int i=0;
while(LA->elem[i]!=shu){
i++;
}
if(i>LA->length)
{
return 0;
}
else{
return (i+1);
}
}
int main()
{
Sqlist *LA;
int i,a_len;
LA=(Sqlist *)malloc(sizeof(Sqlist));
scanf("%d",&a_len);
initSqList_Sq(LA,a_len);
for(i=0; i<a_len; i++)
{
scanf("%d",&LA->elem[i]);
LA->length++;
}
int shu;
scanf("%d",&shu);
printf("%d",findList(LA,shu));
}