6-4 查找元素(*)

已知顺序表的结构定义如下:

typedef struct
{
    int size, length;
    int *element;
} ALIST;

说明:element 为存储数据元素的动态数组的起始地址,size 为动态数组的尺寸,length 为顺序表的长度。

请编写函数,在顺序表中查找数据元素。

函数原型

int AListFind(const ALIST *list, int element);

说明:参数 list 为指示线性表(顺序表)的指针,element 为待查找的数据元素。函数在 list 所指线性表中查找首个与 element 所指数据元素相同的数据元素,若查找成功,则函数值为线性表中找到的首个匹配的数据元素的位序,否则为0。

裁判程序

int main()
{
    int i;
    int x;
    ALIST a;
    AListCreate(&a);
    AListInput(&a);
    scanf("%d", &x);
    i = AListFind(&a, &x);
    printf("%d\n", i);
    AListDestroy(&a);
    return 0;
}

说明:AListCreate 函数创建顺序表,AListInput 函数输入顺序表,AListDestroy 函数销毁顺序表。

输入样例1

( 25, 36, 49, 64, 12, 58, 49, 81 )
49

结尾无空行

输出样例1

3

结尾无空行

输入样例2

( 25, 36, 49, 64, 12, 58, 49, 81 )
54

结尾无空行

输出样例2

0

结尾无空行

代码如下:

int AListFind(const ALIST *list, int element)
{
	int i,*p;
	for(p=list->element,i=0;i<list->length;p++,i++)
	{
		if(*p==element)
		return i+1;
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值