折半查找算法在顺序表中插入一个元素

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
{
mid=(low+high)/2; //mid取查找区间中间位置
if(x<R[mid].key)
high=mid-1; //未找到继续在前半区间查找
else
low=mid+1; //继续在后半区间查找
}
//if(find) //找到标志为真
//inplace=i; //应在mid位置前插入新记录
//else //没有找到则low指向关键值大于x且与x最接近位置
{
cin>>R[i].key;
}
cout<<"请输入插入元素x"<<endl;
cin>>x;
//void BinSearch(SeqList R[来自百度文库,int n) ;
int low=0,high=n-1,mid,inplace,find=0;
while (low<=high) //查找区间最左位置的low小于最右位置的high
{
int key; //关键字
}SeqList;
int main(void)
{
int i,n;
SeqList R[MAXSIZE]; //建立存放顺序表的数组
cout<<"请输入表元素个数n"<<endl;
cin>>n;
cout<<"请输入顺序表关键字与元素"<<endl;
for(i=0;i<n;i++)
//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<n+1;i++)
{
cout<<R[i].key;
}
}
//利用折半查找算法在一个有序表中插入数据x并保持表的有序性
#include <stdio.h>
#define MAXSIZE 30
#include <iostream>
#include <string.h>
using namespace std;
int x;
typedef struct //顺序表
相关文档
最新文档