#include <stdio.h>
#include <stdlib.h>
#define initsize 10
typedef struct {
int* data;
int maxsize;
int length;
}seqlist;
void initlist(seqlist& L) {
L.data = (int*)malloc(initsize * sizeof(int));
for (int i = 0; i < initsize; i++) {
L.data[i] = i + 1;
}
}
int locateelem(seqlist& L, int e) {
for (int i = 0; i < initsize; i++) {
if (L.data[i] == e) {
return i + 1;
}
}
return 0;
}
int main() {
seqlist L;
int e;
initlist(L);
printf("您老要查哪个值?\n");
scanf_s("%d", &e);
if (locateelem(L, e) != 0) {
printf("您老要查的值在第%d位", locateelem(L, e));
}
else {
printf("这边没有您老要查的数");
}
return 1;
}
注意!!!
原按值查找函数为
int locateelem(seqlist&L, int e) {
for (int i = 0; i < initsize; i++) {
if (L.data[i] == e) {
return i + 1;
}
else {
return 0;
}
}
}
此函数大错!对比反思!