黑马程序员技术交流社区

标题: C语言的两种数组排序方法--选择排序法和冒泡排序法 [打印本页]

作者: SimonLo    时间: 2015-11-29 00:24
标题: C语言的两种数组排序方法--选择排序法和冒泡排序法
//冒泡排序法,升序输出
void ascendX(int arr[],int len)
{
    int temp;
    for (int i=0; i<len-1; i++) {
        for (int j=0 ; j<len-i-1; j++) {
            if (arr[j] > arr[j+1]) {
                temp = arr[j];
                arr[j] = arr[j+1];
                arr[j+1] = temp;
            }
        }
    }
   
    for (int k=0; k<len; k++) {
        printf("%d\t",arr[k]);
    }
   
   
   
}


//选择排序法,降序输出
void descendY(int arr[],int len)
{
    for (int i=0; i<len-1; i++) {
        int tempIndexMax = i;
        for (int j=i+1; j<len; j++) {
            if (arr[tempIndexMax] < arr[j]) {
                tempIndexMax = j;
            }
        }
        int temp = arr[i];
        arr[i] = arr[tempIndexMax];
        arr[tempIndexMax] = temp;
    }
   
    for (int k=0; k<len; k++) {
        printf("%d\t",arr[k]);
    }
   
   
}

int main(int argc, const char * argv[]) {
   
    int arr[] = {4,5,6,7,1,2,3,49,7,56,34};
   
    int len = sizeof(arr) / sizeof(int);
    //升序输出数组元素
    ascendX(arr, len);
   
    printf("华丽的分割线--------------\n");
   
    //降序输出数组元素
    descendY(arr, len);
   
   
    return 0;
}
作者: 米易雅克    时间: 2015-11-29 00:32
给你几个黑马币啊????
作者: 罗文强    时间: 2015-11-29 00:39
希望楼主把注释带上,要想别人一眼能看明白的才是好代码!
作者: alen2015    时间: 2015-11-29 00:45
总结的还可以,就是说阅读性不强
作者: 唐阿丽    时间: 2015-11-29 07:41
学习学习
作者: liury    时间: 2015-11-29 08:57
学习,学习
作者: 狂想亚平宁    时间: 2015-11-29 10:42
对的 ,学习了 楼主
作者: lujia1010    时间: 2015-11-29 12:39
视频里面讲的很详细,这类题也挺多的吧
作者: ios小白成长记    时间: 2015-11-29 13:03
int tempIndexMax = i;重复定义,消耗性能




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