一、思路
1.定义一个toFind变量来传入要查找的元素
2.遍历整个顺序表并判定当前下标的元素等不等于toFind
3.如果等于就返回一个true,否则返回false。
二、图解
首先调用以下的方法求出顺序表的长度,再使用 for 循环遍历每一个元素。
// 求顺序表的长度
public int size() {
// 直接返回元素个数
return this.usedSize;
}
当遍历到第一个元素的时候,发现此时的元素为 12 不等于 toFind ,因此继续往下查找。
当 i 走到下一个元素的时候,发现此时依然不等于 toFind 的值,因此继续向后找。
发现此时 i 下标的值等于了 toFind 的值,因此也就说明顺序表中是有 toFind 这个元素的,
返回 true 即可。
如果遍历了整个顺序表后,都没有找到与 toFind 相等的元素,那就说明顺序表中没有这个元素,
返回 false 即可。
当前 i 走到 3 下标后发现此时是空的,那就说明顺序表已经遍历完毕了。
三、代码
//判定是否包含某个元素 - toFind是我要判定的元素
public boolean contains(int toFind) {
//size()方法求的是顺序表的长度
for (int i = 0; i < this.size(); i++) {
if (this.elem[i] == toFind) {
return true; //找到了
}
}
return false;///没找到
}
// 求顺序表的长度
public int size() {
// 直接返回元素个数
return this.usedSize;
}
以上是我当前顺序表中的元素。
判断当前顺序表中是否有 3 和 1000 这两个元素,鉴于以上顺序表中的元素可以到结论。
会先输出一个 true,再输出一个 false。
可以看到此时输出结果是正确的。