//插入排序
#include<stdio.h>
Void print(int a[],int n0);
Int main(){
Int a[10[={1,2,3,4,5,6,7,8,9,33};
Int n=sizeof(a)/sizeof(a[0]);
Int j,i,x;
for(I=1;i<n;i++){
j=I-1;
x=a[I];
while(j>=0&&a[j]>x){
a[j+1]=a[j];
J—;
}
print(a,n);
Return 0;
}
Void print(int a[],int n){
Int I;
for(I-0;i<n;i++){
printf(“%5d”,a[I]);
}
}
冒泡排序
#include<stdio.h>
int main(){
int n,k,i,j;
scanf("%d %d",&n,&k);
int a[n];
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
int con=0;
int t;
for(i=0;i<n;i++){
for(j=0;j<n-i-1;j++){
if(a[j+1]<a[j]){
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
con++;
if(con==k) break;
}
for(i=0;i<n;i++){
if(i<n-1) printf("%d ",a[i]);
else printf("%d ",a[i]);
}
return 0;
}
二分查找:
#include<stdio.h>
int main()
{
int a[10]={2,3,56,67,88,45,6,7,8,3};
int low,high,mid = 0;
low=0;
high=(sizeof(a)/sizeof(a[0]))-1;
int b;
scanf("%d",&b);//需要查找的数字
while(low<=high){
mid=(low+high)/2;
if(b==a[mid]) break;
else if(b<a[mid]) high=mid-1;
else if (b>a[mid]) low=mid+1;
}
printf("%d",mid);
return 0;
}
//顺序查找
#include<stdio.h>
int main()
{
int a[10]={2,3,56,67,88,45,6,7,8,3};
int i;
int num;
scanf("%d",&num);
for(i=0;i<sizeof(a)/sizeof(a[0]);i++){
if(numa[i]){
printf(“YES\n”);
break;
}
}
if(isizeof(a)/sizeof(a[0]))
printf(“NO\n”);
return 0;
}