一文搞懂冒泡排序 C语言
程序员文章站
2024-01-26 13:37:16
#includeint *bubble(int a[],int len){//int len = sizeof(a)/sizeof(int); //这样写是错误的,因为a传进来的是个指针,sizeof(a)是8for(int i=0;ia[j+1]){int t = a[j];a[j] = a[j+1];a[j+1] =...
#include<stdio.h>
void bubble(int a[],int len){
// int len = sizeof(a)/sizeof(int); //这样写是错误的,因为a传进来的是个指针,sizeof(a)是8
for(int i=0;i<len-1;i++)
for(int j=0;j<len-1;j++)
if(a[j]>a[j+1]){
int t = a[j];
a[j] = a[j+1];
a[j+1] = t;
}
//优化写法
// for(int i=0;i<len-1;i++){
// int flag = 0;
// for(int j=0;j<len-1-i;j++){//-i是因为后面已经排好了
// if(a[j]<a[j+1]){
// flag = 1;
// int t = a[j];
// a[j] = a[j+1];
// a[j+1] = t;
// }
// }
// if(flag==0)
// break;//一次下来数组没有变化,则已完成排序
// }
}
void print (int a[],int len){
for(int i=0;i<len;i++)
printf("%d ",a[i]);
putchar('\n');
}
main(){
int a[]={1,3,5,9,2,4,10,8,7};
int len = sizeof(a)/sizeof(int);
bubble(a,len);
print(a,len);
}
本文地址:https://blog.csdn.net/m0_45311187/article/details/109000168
上一篇: 如何从运营角度保障DNS安全
下一篇: 电脑bios设置教程(图解)