首页 >> 学识问答 >

顺序查找和随机查找的区别(顺序查找)

2023-09-22 18:47:31

问题描述:

顺序查找和随机查找的区别(顺序查找),真的撑不住了,求给个答案吧!

最佳答案

推荐答案

2023-09-22 18:47:31

您好,今天芳芳来为大家解答以上的问题。顺序查找和随机查找的区别,顺序查找相信很多小伙伴还不知道,现在让我们一起来看看吧!

1、#include #include #define MAX_LENGTH 100typedef int KeyType;typedef struct { KeyType *elem; int length; }SSTable; //顺序表的存储结构/*此算法比第二个算法多了一个判定i是否出界的流程,对于查找数目较少的情况,二者查找时间相差不大,对于存在大量数据时,该算法的主要查找时间消耗再判定是否出界上,所以第二个算法明显比第一个算法好,唯一增加的就是一个“哨兵”数据。

2、int Search_Seq(SSTable ST, KeyType key){ int i; for(i=1; i<=ST.length && ST.elem[i] != key; i++ ) ; if(i<=ST.length) return i; else return 0;}*/int Search_Seq(SSTable ST, KeyType key){ int i; ST.elem[0] = key; //“哨兵”,如果顺序表中不存在要查找的数据的话,则查找指针必定指向该哨兵 for(i = ST.length; ST.elem[i] != key; i--) ; return i; //找到的话,则i != 0,否则i = 0}void main(){ int i, key; SSTable T; T.elem = (KeyType *)malloc(sizeof(KeyType)); printf("How Many Entries Do You Want input"); scanf("%d", &T.length); for(i=1; i<=T.length; i++){ printf("Please input the %dth entries ", i); scanf("%d", &T.elem[i]); } for (i=1; i<=T.length; i++) printf("%5d",T.elem[i]); //显示已经输入的所有数据 printf("Please input the data you want to search"); scanf("%d", &key); i = Search_Seq(T,key); printf("the search data is locate the %dth(0 indicate can not find)",i); }。

本文就为大家分享到这里,希望小伙伴们会喜欢。

  免责声明:本答案或内容为用户上传,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。 如遇侵权请及时联系本站删除。

 
分享:
最新文章