顺序查找算法练习
Time Limit: 1000 MS Memory Limit: 32768 K
Total Submit: 792 (219 users) Total Accepted: 236 (210 users) Special Judge: No
Description
在一个顺序表中查找某个关键字是否存在。
Input
输入为多组数据,每组为两行数据,每组中第一行为建立查找的顺序表,第二行是要查找的关键字。
Output
若找到关键字,则输出关键字在表中的位置,否则输出0.
Sample Input
1 2 3 4 5
10
1 2 3 4 5
5
Sample Output
0
5
#include<stdio.h>
#include<stdlib.h>
typedef int elep;
#define maxn 1005
struct st {
elep *p;
int length;
};
st start() {
st s;
s.p=(elep*)malloc(sizeof(elep)*maxn);
s.length=0;
return s;
}
int search(st &s,int key) {
for(int i=1; i<=s.length; i++) {
if(s.p[i]==key) {
return i;
}
}
return 0;
}
void insert(st &s,int e) {
s.p[s.length+1]=e;
s.length++;
}
void deletelast(st &s) {
s.length--;
}
int main() {
char x[1005];
int key;
st s=