折半查找
#include<stdio.h> int BinSearch(int arr[],int len,int key) { int low=0;//起始下标 int high=len-1;//结尾下标 int mid; while(low<=high) { mid=(low+high)/2; if(arr[mid]==key) { return mid; } else if(arr[mid]<key)//在右边查找 { low=mid+1; } else//在左边查找 { high=mid-1; } } return-1;//查找不到返回1 } int main() { int arr[]={1,2,3,4,5,6,7,8,9,10}; printf("%d\n",BinSearch(arr,sizeof(arr)/sizeof(arr[0]),4)); for(int i=0;i<=sizeof(arr)/sizeof(arr[0]);i++) { printf("%d\n",BinSearch(arr,sizeof(arr)/sizeof(arr[0]),i)); } }正序输出
#include<stdio.h> void show(int arr[],int len) { for(int i=0;i<len;i++) { printf("%d\n",arr[i]); } } int main() { int arr[]={1,2,3,45}; show(arr,sizeof(arr)/sizeof(arr[0])); }倒序输出
#include<stdio.h> void Reverse(int arr[],int len) { int tmp; for(int i=0;i<len/2;i++) { tmp=arr[i]; arr[i]=arr[len-i-1]; arr[len-i-1]=tmp; } } int main() { int arr[]={1,2,3,4,5,6,7}; Reverse(arr,sizeof(arr)/sizeof(arr[0])); for(int i=0;i<sizeof(arr)/sizeof(arr[0]);i++) { printf("%d",arr[i]); } return 0; }