100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 数据结构 顺序表的建立+折半查找(二分查找)

数据结构 顺序表的建立+折半查找(二分查找)

时间:2023-05-29 20:03:25

相关推荐

数据结构 顺序表的建立+折半查找(二分查找)

顺序表的存储

#include <stdio.h>#include <stdlib.h>typedef int KeyType;typedef struct {KeyType key; //关键子域 }ElemType;typedef struct {ElemType *R; //存储空间基地址 int length; //当前长度 }SSTable;

顺序表的建立

void CreateTable(SSTable &ST,int n){ST.R=new ElemType[n+1]; //开辟数组空间if(!ST.R) return ;ST.length=n;for(int i=1;i<=100;i++){ST.R[i].key=i;}}

折半查找

int Search_Bin(SSTable ST,KeyType key){int low=1,high=ST.length;int mid;while(low<=high){mid=(low+high)/2;if(key==ST.R[mid].key) return mid;else if(key<ST.R[mid].key) high=mid-1;else low=mid+1;}return -1;}

主函数调用

int main(){SSTable ST; printf("请输入建立顺序表的长度:\n");int m;scanf("%d",&m);CreateTable(ST,m);printf("请输入待查询的值:\n");int n;scanf("%d",&n);int index=Search_Bin(ST,n);if(index==-1) {printf("没有该值\n");}else printf("程序输出计算的位置为:%d\n",index);return 0;}

更多数据结构知识:

数据结构

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。