您的位置:首页 > 理论基础

计算机软件技术基础实验一

2014-04-17 22:20 399 查看
#include<iostream>
using namespace std;

const int MAXSIZE = 15;

int aryLinearList[MAXSIZE];

int length = 9;

int lo = 0;

int hi = 9;

int mid = (hi + lo) / 2 ;

int xp;

int sign;

void sort(int m)
{
for (int i = 0; i <= m; i++)
{
for (int j = i+1; j <= m; j++)
{
if (aryLinearList[i] >= aryLinearList[j])
{
int temp = aryLinearList[i];
aryLinearList[i] = aryLinearList[j];
aryLinearList[j] = temp;
}
}
}
for (int i = 0; i <= m; i++)
{
cout<<aryLinearList[i]<<" "<<endl;
}
}

void find(int x)
{
if (aryLinearList[mid] ==  x)
{
xp = mid;
sign = 1;
}
else
if (aryLinearList[mid] < x)
{
lo = mid + 1;
mid = (lo + hi)/2;
find(x);
}
else
if (aryLinearList[mid] > x)
{
hi = mid - 1;
mid = (lo + hi)/2;
find(x);
}
else
if (aryLinearList[mid] !=  x && hi == lo)
{
sign = 0;
}
}

void insert(int m)
{
int aryLinearList_[10];
int j = 0;
if (sign == 1)
{
for (int i = xp; i <= length; i++)
{
aryLinearList_[j] = aryLinearList[i];
j++;
}
j = 0;
for (int i = xp + 1; i <= length + 1; i++)
{
aryLinearList[i] = aryLinearList_[j];
j++;
}
aryLinearList[xp] = m;
}
else
{
for (int i = hi+1; i <= length + 1; i++)
{
int j = 0;
int aryLinearList_[10];
aryLinearList_[j] = aryLinearList[i];
j++;
}
aryLinearList[hi] = m;
}
for (int i = 0; i <= 10; i++)
{
cout<<aryLinearList[i]<<" "<<endl;
}
}

void de(int m)
{
int j = 0;
int aryLinearList_[MAXSIZE];
if (sign == 1)
{
for (int i = xp + 1; i <= length; i++)
{
aryLinearList_[j] = aryLinearList[i];
j++;
}
j = 0;
for (int i = xp; i <= length - 1; i++)
{
aryLinearList[i] = aryLinearList_[j];
j++;
}
for (int i = 0; i <= length -1 ; i++)
{
cout<<aryLinearList[i]<<" "<<endl;
}
}
else
{
for (int i = 0; i <= length; i++)
{
cout<<aryLinearList[i]<<" "<<endl;
}
}
}

int main()
{

int i;
for (i = 0; i <= length; i++)
{
cin>>aryLinearList[i];
}
sort(length);
int n;
cin>>n;
find(n);
insert(n);
lo = 0;
length = 9;
hi = length;
for (i = 0; i <= length; i++)
{
cin>>aryLinearList[i];
}
sort(length);
cin>>n;
mid = (lo + hi)/2;
find(n);
de(n);
system("pause");
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: