冒泡排序,作为基础算法,还是比较简单的
直接上代码
#include <stdio.h>
void pai(int a[],int len){
int temp;
for(int i=0;i<len-1;i++){//外层循环,控制排序的趟数,n个元素需要循环n-1次
for(int j=0;j<len-1;j++){//内层循环控制元素比较的次数,例如n个元素第i趟要比较n-1次
//比较相邻两个数的大小,把大的数往后面移
if(a[j]>a[j+1]){
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
printf("\n排完了\n");
}
void dayin(int a[],int len){
for (int i = 0; i < len; ++i) {
printf("%d ",a[i]);
}
}
int main(){
int a[]={2,6,55,8,9,46,4,3,5555,6,664,166,22};
int len= sizeof(a)/ sizeof(a[1]);
printf("----------先看原始数组是------\n");
dayin(a,len);
pai(a,len);
printf("--------------输出一下看看效果吧----------\n");
dayin(a,len);
return 0;
}