[C++]关于选择排序和二分法的举例
2008-06-01 17:09
465 查看
#include "iostream.h"
#include "time.h"
#include "stdlib.h"
void print(int a[])
{
for(int i=0; i<10; i++)
cout<<a[i]<<" ";
cout<<endl;
}
void main()
{
int a[10];
srand(time(NULL));
for(int i=0; i<10; i++)
a[i] = rand() % 101;
print(a);
int min, t, j;
for(i=0; i<9; i++)
{
min = i;
for(j=i+1; j<9; j++)
if(a[min]>a[j])
min = j;
t = a[min];
a[min] = a[i];
a[i] = t;
}
print(a);
int n;
cout<<"please input a number: ";
cin>>n;
int low=0, high=9, mid;
while(low<=high)
{
mid=(low+high)/2;
if(n==a[mid])
break;
else if(n<a[mid])
high = mid - 1;
else
low = mid + 1;
}
cout<<mid<<endl;
}
#include "time.h"
#include "stdlib.h"
void print(int a[])
{
for(int i=0; i<10; i++)
cout<<a[i]<<" ";
cout<<endl;
}
void main()
{
int a[10];
srand(time(NULL));
for(int i=0; i<10; i++)
a[i] = rand() % 101;
print(a);
int min, t, j;
for(i=0; i<9; i++)
{
min = i;
for(j=i+1; j<9; j++)
if(a[min]>a[j])
min = j;
t = a[min];
a[min] = a[i];
a[i] = t;
}
print(a);
int n;
cout<<"please input a number: ";
cin>>n;
int low=0, high=9, mid;
while(low<=high)
{
mid=(low+high)/2;
if(n==a[mid])
break;
else if(n<a[mid])
high = mid - 1;
else
low = mid + 1;
}
cout<<mid<<endl;
}
相关文章推荐
- 新建日期类,并利用冒泡排序、选择排序、二分法寻找指定日期
- 一个关于数组中满足条件的元素选择、及再次排序得c语言函数。
- 直接选择排序举例
- 关于C++中vector和set使用sort方法进行排序
- [C++]数据结构:排序算法Part1----冒泡排序、选择排序、插入排序、堆排序
- Java冒泡、选择排序以及二分法
- 冒泡排序和选择排序(C++实现)
- 关于C中字符数组,字符指针以及C++中string类型的两两转换及排序
- c++排序part1: 冒泡、选择、插入排序
- 【Java基础】选择排序、冒泡法排序、二分法查找
- C语言拓展——选择排序、冒泡排序、二分法查找
- 黑马程序员--选择排序、冒泡排序、二分法查找
- c++:选择排序和冒泡排序
- 关于选择排序(懒虫小鑫)
- C++实现简单的选择排序
- 排序(选择,冒泡,二分法)、进制转换
- C++实现各种基础排序(冒泡、选择、快排、插入、堆排、希尔、归并)
- C++ 直接选择排序的实现实例代码
- 关于贪心算法如何选择按x排序或按y排序
- c++学习之--排序4-直接选择排序