1636: 线性表-按值查找(链式存储)
金币值:2
定数:9
时间限制:1.000 s
内存限制:128 M
解决:53
提交:106
正确率:50.00% 命题人:
题目描述
已知一个单链表,要求在该单链表中查找特定元素,如果该元素存在则返回该元素的地址(如果有符合条件的多个元素,则返回第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,表示被查找元素的值
第2行输入n个整数,表示单链表中存储的具体数据
第3行输入一个整数e,表示被查找元素的值
输出
第4行输出查找结果,如果找到输出1,否则输出0
样例输入 复制
4
1 2 3 4
3
样例输出 复制
1