欢迎来到天天文库
浏览记录
ID:56777785
大小:70.00 KB
页数:2页
时间:2020-07-09
《折半查找算法在顺序表中插入一个元素.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、//利用折半查找算法在一个有序表中插入数据x并保持表的有序性#include#defineMAXSIZE30#include#includeusingnamespacestd;intx;typedefstruct//顺序表{intkey;//关键字}SeqList;intmain(void){inti,n;SeqListR[MAXSIZE];//建立存放顺序表的数组cout<<"请输入表元素个数n"<>n;cout<<"请输入顺序表关键字与元
2、素"<>R[i].key;}cout<<"请输入插入元素x"<>x;//voidBinSearch(SeqListR[],intn);intlow=0,high=n-1,mid,inplace,find=0;while(low<=high)//查找区间最左位置的low小于最右位置的high{mid=(low+high)/2;//mid取查找区间中间位置if(x3、=mid+1;//继续在后半区间查找}//if(find)//找到标志为真//inplace=i;//应在mid位置前插入新记录//else//没有找到则low指向关键值大于x且与x最接近位置//inplace=low;//在low所指位置前插入for(i=n-1;i>=low;i--)//移动,插入关键字x记录R[i+1].key=R[i].key;R[low].key=x;for(i=0;i
3、=mid+1;//继续在后半区间查找}//if(find)//找到标志为真//inplace=i;//应在mid位置前插入新记录//else//没有找到则low指向关键值大于x且与x最接近位置//inplace=low;//在low所指位置前插入for(i=n-1;i>=low;i--)//移动,插入关键字x记录R[i+1].key=R[i].key;R[low].key=x;for(i=0;i
此文档下载收益归作者所有