当前位置:   article > 正文

数据结构实习报告(7)顺序查找和折半查找——C语言严蔚敏版完整代码_数据结构查找方法的综合实现报告

数据结构查找方法的综合实现报告
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #define MAXSIZE 50
  4. //定义线性表
  5. typedef struct
  6. {
  7. int elem[MAXSIZE];
  8. int length;
  9. }sqlist;
  10. //顺序查找
  11. int search(sqlist ST, int key)
  12. {
  13. int i;
  14. ST.elem[0] = key;
  15. for (i = ST.length; ST.elem[i] != key; --i);
  16. return i;
  17. }
  18. //折半查找
  19. int search_bin(sqlist ST, int key)
  20. {
  21. int low,high,mid;
  22. low = 1;
  23. high = ST.length;
  24. while (low <= high)
  25. {
  26. mid = (low + high) / 2;
  27. if (key == ST.elem[mid]) return mid;
  28. else if (key < ST.elem[mid]) high = mid - 1;
  29. else low = mid + 1;
  30. }
  31. return 0;
  32. }
  33. //创建线性表
  34. void create_list(sqlist*ST)
  35. {
  36. int i;
  37. printf("输入元素个数n\n");
  38. scanf("%d", &ST->length);
  39. for (i = 1; i <=ST->length; i++)
  40. {
  41. printf("\n data %d=?", i);
  42. scanf("%d", &(ST->elem[i]));
  43. }
  44. }
  45. int main()
  46. {
  47. sqlist ST;
  48. int key;
  49. create_list(&ST);
  50. printf("查找元素e=");
  51. scanf("%d", &key);
  52. printf("%d\n",search(ST, key));
  53. printf("%d\n",search_bin(ST, key));
  54. return 0;
  55. }

 

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

闽ICP备14008679号