当前位置:   article > 正文

顺序表的按值查找_5、顺序表的按值查找。

5、顺序表的按值查找。

 主要步骤:

  1. int LocateElem(SeqList& L, int e)
  2. {
  3. for (int i = 0; i < L.Length; i++)
  4. if (L.data[i] == e)
  5. return (i + 1);
  6. return 0;
  7. }

 完整测试代码:

  1. //注意Length是从1 开始
  2. //而数组下标即data 是从0 开始
  3. #include<iostream>
  4. using namespace std;
  5. #define MaxSize 10 //默认最大长度
  6. typedef struct
  7. {
  8. int data[MaxSize];
  9. int Length; //当前表长
  10. }SeqList;
  11. void InitList(SeqList& L)
  12. {
  13. L.Length = 6;
  14. for (int i = 0; i <L.Length; i++)
  15. {
  16. L.data[i] = i+1; //Length表示当前最大长度 而不是数组下标
  17. //把第一个元素赋值给下标是0的 数组
  18. }
  19. }
  20. int LocateElem(SeqList& L, int e)
  21. {
  22. for (int i = 0; i < L.Length; i++)
  23. if (L.data[i] == e)
  24. return (i + 1);
  25. return 0;
  26. }
  27. void test03() //按值查找
  28. {
  29. SeqList L;
  30. InitList(L);
  31. for (int i = 0; i < L.Length; i++)
  32. {
  33. cout << "第" << i << "个数是" << L.data[i] << endl;
  34. }
  35. cout << "当前长度Length=" << L.Length << endl << endl;
  36. if (int k = LocateElem(L, 5))
  37. cout << "元素值为" <<5<< "被查找到"<<"在第"<<k<<"位" <<"数组下标是"<<k-1<< endl;
  38. else
  39. cout << "查找失败" << endl;
  40. }
  41. int main()
  42. {
  43. test03();
  44. system("pause");
  45. return 0;
  46. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/922193
推荐阅读
相关标签
  

闽ICP备14008679号