2-9 在顺序表 list 中查找元素 x
分数 7
作者 陈越
单位 浙江大学
请编写程序,将 n 个整数存入顺序表,对任一给定整数 x,查找其在顺序表中的位置。
输入格式:
输入首先在第一行给出正整数 n(≤104);随后一行给出 n 个 int 范围内的不重复的整数,数字间以空格分隔;最后一行给出待查找的元素 x,也是 int 范围内的整数。
输出格式:
在一行中输出 x 在顺序表中的位置,即数组下标。如果没找到,则输出 -1。注意数组下标从 0 开始。
输入样例 1:
输出样例 1:
输入样例 2:
输出样例 2:
答案
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| #include <iostream> using namespace std;
typedef struct { int *data; int length; } sqList;
void initList(sqList &L, int n) { L.data = new int[n]; L.length = 0; }
int findELem(sqList L, int x) { for (int i = 0; i < L.length; ++i) { if (L.data[i] == x) { return i; } } return -1; }
int main() { int n, x; cin >> n; sqList L; initList(L, n); for (int i = 0; i < n; i++) { cin >> L.data[i]; L.length++; } cin >> x; cout << findELem(L, x); }
|