黑马程序员技术交流社区

标题: 求冒泡排序完整代码,最优化版本 [打印本页]

作者: john6g    时间: 2016-5-9 23:02
标题: 求冒泡排序完整代码,最优化版本
最最最有换的版本,最好能封装到函数
作者: a_skting    时间: 2016-5-10 22:03
// 冒泡排序函数(升序)。
int bubble_sort(int arr[], int length) {
        if(length <= 0) return -1;
        for(int i = 0; i < length; i++) {
                for(int j = 0; j < length - 1 - i; j++) {
                        if(arr[j] > arr[j + 1]) {
                                arr[j] = arr[j] ^ arr[j + 1];
                                arr[j + 1] = arr[j] ^ arr[j + 1];
                                arr[j] = arr[j] ^ arr[j + 1];
                        }
                }
        }
        return 1;
}
作者: 寂静夜凄凉    时间: 2016-5-10 22:10
    for(int i = 0;i<len - 1;i++)
    {
        for(int j = 0;j<len - 1 - i;j++)
        {
            if(arr[j] > arr[j+1])
            {
                int max = arr[j];
                arr[j] = arr[j+1];
                arr[j+1] = max;
            
            }
        
        }
    }
作者: xiaogui    时间: 2016-5-10 22:15
进来学习。学习。有什么忘记了的可以再看一下。
作者: caiYN    时间: 2016-5-10 22:42
来看看!!!!
作者: 时钟滴滴答    时间: 2016-5-10 22:56
学习学习
作者: 栗海云    时间: 2016-5-10 23:27
/**
*  用冒泡排序把数组中的数据从小到大排序
*
*  @param arr 要排序的数组
*  @param len 数组的长度
*/
void maopaopaixu(int arr[],int len)
{
    for(int i = 0;i<len-1;i++)
    {
        for(int j = 0;j<len-1-i;j++)
        {
            if(arr[j]>arr[j+1])
            {
                int temp = arr[j];
                arr[j] = arr[j+1];
                arr[j+1] = temp;
            }
        }
    }
}




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