选择排序
#include<iostream>
using namespace std;
void SelectSort(int *A,const int n);
int main(){
int A[]={1,3,2,5,7,2,13,5,6,98};
SelectSort(A,10);
for(int i=0;i<10;i++){
cout<<A[i]<<endl;
}
return 0;
}
void SelectSort(int *A,const int n){
for(int i=0;i<n;i++){
int min=i;
for(int j=i+1;j<n;j++){
if(A[j]<A[min]){
min=j;
}
}
swap(A[i],A[min]);
}
}
二分查找
#include<iostream>
using namespace std;
int Binarysearch(int* A,int x,int n);
int main(){
int A[]={1,2,3,4,5,6,7,8,9,10};
cout<<Binarysearch(A,1,10)<<endl;
return 0;
}
int Binarysearch(int* A,int x,int n){
int low=0;
int high=n-1;
int mid;
while(low<=high){
mid=(low+high)/2;
cout<<"当前对比的下标为"<<mid<<endl;
if(x==A[mid]){
return mid;
}
else if (x>A[mid]){
low=mid+1;
}
else if(x<A[mid]){
high=mid-1;
}
}
}