voidmain(){int arr[]={23,12,45,67,87};// 查找的数int num =67;int len =sizeof(arr)/sizeof(int);for(int i =0; i < len; i++){if(num == arr[i]){printf("找到%d", arr[i]);break;}else{printf("没有找到%d", num);}}}
二分查找或折半查找
voidmain(){// 数组是已经排好序的int arr[]={1,2,3,22,29,54,59,123};int len =sizeof(arr)/sizeof(int);int num =29;int min =0;int max = len -1;while(min <= max){int mid =(min + max)/2;printf("%d\n", mid);if(arr[mid]< num){
min = mid +1;}elseif(arr[mid]> num){
max = mid -1;}else{printf("%d", num);break;}}}
冒泡排序
intmain(){int arr[]={3,5,2,1,4};int len =sizeof(arr)/sizeof(int);for(int j =0; j < len -1; j++){for(int i =0; i < len - j -1; i++){if(arr[i]> arr[i +1]){int temp = arr[i];
arr[i]= arr[i +1];
arr[i +1]= temp;}}}for(int i =0;i < len; i++){printf("%d", arr[i]);}}
选择排序
intmain(){int arr[]={3,8,2,1,4};int len =sizeof(arr)/sizeof(int);for(int i =0; i < len -1; i++){for(int j = i; j < len -1; j++){if(arr[i]> arr[j +1]){int temp = arr[j +1];
arr[j +1]= arr[i];
arr[i]= temp;}}}for(int i =0; i < len; i++){printf("%d", arr[i]);}}