#include <stdio.h> //冒泡排序 void sort(int a[],int n) { int i,j,temp; for(i=0;i<n-1;i++) { for(j=0;j<n-1-i;j++) { if(a[j]>a[j+1]) { temp = a[j]; a[j]=a[j+1]; a[j+1]=temp; } } } } int find_max(int a[],int len) { int i; int maxindex=0; for(i=0;i<len;i++) { if(a[i]>a[maxindex]) { maxindex=i; } } return maxindex; } //二分查找 int search(int k,int a[],int len) { int flag=-1; int left = 0; int right = len-1; while(right>left) { int mid=(left+right)/2; if(a[mid]==k) { flag = mid; break; } else if(a[mid]>k) { right=mid-1; } else { left = mid+1; } } return flag; } int main(void) { int num[10]; int i,temp; for(i=0;i<10;i++) { scanf("%d",&num[i]); } /* 冒泡排序 sort(num,10); for(i=0;i<10;i++) { printf("%d\n",num[i]); } */ //选择排序 for(i=10-1;i>=0;i--) { temp = num[find_max(num,i+1)]; num[find_max(num,i+1)]=num[i]; num[i]=temp; } int k; scanf("%d",&k); int pos=search(k,num,10); if(pos!=-1) { printf("坐标是:%d",pos); } else { printf("没有找到"); } return 0; }
冒泡排序、选择排序,二分查找
猜你喜欢
转载自www.cnblogs.com/Knightl8/p/12574462.html
今日推荐
周排行