冒泡排序
#include<stdio.h>
int main()
{
int i,j,temp, n[10]={9,6,1,2,5,3,0,8,7,4};
for(i=0;i<10;i++) {
for(j=0;j<10-i;j++) {
if(n[j+1]<n[j]) {
temp=n[j+1];
n[j+1]=n[j];
n[j]=temp;
}
}
}
for(i=0;i<10;i++) {
printf("%d",n[i]);
}
return 0;
}
选择排序(以下两种中第一种时间复杂度在同级上相对更小)
#include<stdio.h>
int main()
{
int n[10]={9,6,1,2,5,3,0,8,7,4},min,temp,j,i;
for(i=0;i<9;i++) {
min=i;
for(j=1+i;j<10;j++) {
if(n[j]<n[min])
min=j;
}
temp=n[i];
n[i]=n[min];
n[min]=temp;
}
for(i=0;i<10;i++) {
printf("%d",n[i]);
}
return 0;
}
#include<stdio.h>
int main()
{
int i,j,temp, n[10]={9,6,1,2,5,3,0,8,7,4};
for(i=0;i<9;i++) {
for(j=1+i;j<10;j++) {
if(n[j]<n[i]) {
temp=n[i];
n[i]=n[j];
n[j]=temp;
}
}
}
for(i=0;i<10;i++) {
printf("%d",n[i]);
}
return 0;
}