#include <iostream>
#include <string>
using namespace std;
int main()
{
int n;
cout << "请输入要排序的整数的个数:" << endl;
cin >> n;
int* p;
p = new int[n];
cout << "请依次输入要排序的整数:" << endl;
for (int j = 0; j < n; j++)
{
cin >> *(p+j);
}
//冒泡排序
for (int i = 0; i < n; i++)
{
for (int j = i+1; j < n; j++)
{
int temp;
if (p[i] > p[j])
{
temp = p[i];
p[i] = p[j];
p[j] = temp;
}
}
}
for (int m = 0; m < n; m++)
{
cout << p[m] << ",";
}
cout << endl;
//开始二分排序
int low = 0;
int heigh = n-1;
int mid = (heigh + low)/2;
int Search;
cout << "请输入您要查找的数字:" << endl;
cin >> Search;
while (low != heigh - 1)
{
if (Search > p[mid])
{
low = mid;
mid = (heigh + low) / 2;
}
else if (Search < p[mid])
{
heigh = mid;
mid = (heigh - low) / 2;
}
else
{
cout << "您要查找的数字在:" << mid << endl;
return 0;
}
}
cout << "您要查找的数字不存在!" << endl;
return 0;
}
C++实现输入任意大小的整形数组并且利用冒泡排序法进行升序排序并且进行二分查找
最新推荐文章于 2022-06-18 02:03:40 发布