黑马程序员技术交流社区

标题: 冒号排序,各位大神看看还有什么需要改进的吗? [打印本页]

作者: 郭占岭    时间: 2015-9-4 20:19
标题: 冒号排序,各位大神看看还有什么需要改进的吗?
#include <stdio.h>

void maoPao(int a,int arr1[a]){
   
    //for循环冒泡排序
    for(int i=0;i<a-1;i++){
        
        for(int j=0;j<a-1-i;j++){
            
            if(arr1[j]>arr1[j+1]){
                //如果
                int temp=arr1[j];
                arr1[j]=arr1[j+1];
                arr1[j+1]=temp;
               
            }
        }
        
    }
   
}
//定义一个函数遍历冒泡后的值
void bianLi(int b,int arr2[b]){
   
    //for循环打印
    for(int x=0;x<b;x++){
        //打印
        printf("%d\t",arr2[x]);
        
    }
    printf("\n");
}
int main(){
   
    //定义一个数组
    int arr[]={1,35,6,88,99,12};
   
    int len=sizeof(arr)/sizeof(int);

    //调用冒泡排序
    maoPao(len,arr);
   
    //调用遍历打印
    bianLi(len,arr);
   
   
    return 0;
}
作者: 1wang2huan    时间: 2015-9-4 20:30
厉害,厉害,咱们一起继续努力吧!
作者: Vigor    时间: 2015-9-4 22:40
蛮完整的,一起加油吧!
作者: weicongcing    时间: 2015-9-5 00:07
写的很好,有一点点建议:对临时变量temp的定义建议放在for循环之外,这样不会产生内存频繁创建销毁的可能,这样在数据量大的时候会好一些。
void maoPao(int a,int arr1[a]){
    int temp=0;
    //for循环冒泡排序
    for(int i=0;i<a-1;i++){      
        for(int j=0;j<a-1-i;j++){           
            if(arr1[j]>arr1[j+1]){
                //如果
                temp=arr1[j];
                arr1[j]=arr1[j+1];
                arr1[j+1]=temp;      
            }
        }   
    }   
}
作者: 同舟ing    时间: 2015-9-5 00:13
不错不错!
作者: 颖峰    时间: 2015-9-5 00:15
厉害  大家一起努力吧 膜拜中
作者: 15325501970    时间: 2015-9-5 08:42
膜拜啊,我还没开始写代码




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2