SHAOXIAOJ正在加载中...

1636: 线性表-按值查找(链式存储)

金币值:2 定数:9 时间限制:1.000 s 内存限制:128 M
正确:17 提交:26 正确率:65.38% 命题人:
点赞量:0 收藏量:0 题目类型:程序 知识点: 数据结构-线性表

题目描述

已知一个单链表,要求在该单链表中查找特定元素,如果该元素存在则返回该元素的地址(如果有符合条件的多个元素,则返回第1个元素的地址),否则返回NULL。

#include "stdio.h"
#include "stdlib.h"

typedef int ElemType;/* ElemType类型根据实际情况而定,这里假设为int */

typedef struct Node {
	ElemType data;
	struct Node *next;
} LNode,*linkList;

void initList(linkList &L);
void inputList(linkList L);
linkList locateList(linkList L,ElemType e);

int main(void) {
	linkList head;
	initList(head);
	inputList(head);
	ElemType e;
	scanf("%d",&e);
	printf("%d",locateList(head,e)==0?0:1); // exp?x:y C语言中的三目运算符,条件成立时返回x,否则返加y
	return 0;
}

void initList(linkList &L) {
	L=new LNode;
	L->next=NULL;
}

void inputList(linkList L) {
	int n;
	linkList p;
	scanf("%d",&n);
	for(int i=0; i<n; i++) {
		p = new LNode;
		scanf("%d",&p->data);
		p->next=L->next;
		L->next=p;
	}
}

/*仅提交以下代码*/
linkList locateList(linkList L,ElemType e) {
	linkList p;
	__________;
}

输入格式

第1行输入一个整数n,表示单链表中数据元素的个数
第2行输入n个整数,表示单链表中存储的具体数据 
第3行输入一个整数e,表示被查找元素的值

输出格式

第4行输出查找结果,如果找到输出1,否则输出0

输入样例    复制

4
1 2 3 4
3

输出样例    复制

1