冒泡排序:
思想:冒泡排序就是每个数组里面的元素都会与后面相邻的元素进行比较,按照从小到大的顺序,如果前边的大于后边的就交换位置,这样在一次循环以后,最大的元素一定出现在了最后的位置,所以下一次的循环就不用在考虑最后一个元素。代码:
#include<stdio.h>
int main(){
int i,j,a[10],temp;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++){
for(j=0;j<9-i;j++){
if(a[j]>a[j+1]){
temp=a[j+1];
a[j+1]=a[j];
a[j]=temp;
}
}
}
for(i=0;i<10;i++)
printf("%d\n",a[i]);
return 0;
}
选择排序:
思想:选择排序就是每次都找到最小的元素,找到以后,把它放在第一个位置,按照从小到大的顺序。代码:
#include<stdio.h>
int main(){
int i,j,temp,min,a[10];
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++){
min=i;
for(j=i;j<10;j++){
if(a[min]>a[j]){
min=j;
}
}
temp=a[i];
a[i]=a[min];
a[min]=temp;
}
for(i=0;i<10;i++)
printf("%d\n",a[i]);
return 0;
}