//冒泡排序 #include<cstdio> int main(){ int M; int num[100]; scanf("%d",&M); for(int i=0;i<M;i++){ scanf("%d",&num[i]); } int temp; for(int i=0;i<(M-1);i++){ //两两比较 所以需要比较的次数等于数字数减一 for(int j=0;j<(M-1-i);j++){ if(num[j]>num[j+1]){ temp=num[j]; num[j]=num[j+1]; num[j+1]=temp; } } } for(int i=0;i<M;i++){ printf("%d ",num[i]); } return 0; }
//二分查找法 //一定是要实现有序的数据集 #include<cstdio> int search(int a[],int left,int right,int x){ int mid; while(left<right){ mid=(left+right)/2; if(x>a[mid]) left = mid + 1; else if(x<a[mid]) right = mid - 1; else return mid; } return -1; } int main(){ int M; int num[100]; scanf("%d",&M); for(int i=0;i<M;i++){ scanf("%d",&num[i]); } printf("%d",search(num,0,M-1,8)); return 0; }