题解 | 牛牛的排序

牛牛的排序

https://www.nowcoder.com/practice/26a0c92e9266443887a3bf81aff8e188

#include <stdio.h>
#include <stdlib.h>

// write your code here......

int cmp_int( void* e1, void* e2) {
    return *(int*)e1 - *(int*)e2;  //计算类型
}

int main() {

    int n, i, j, temp;
    scanf("%d",&n);

    int* arr=(int*)malloc(n*sizeof(int));

    for (i = 0; i < n; i++) {
        scanf("%d",&arr[i]);
    }

    #if 0  // select sort
    for(i = 0; i < n; i++) {
        for(j = i + 1; j < n; j++) {
            if(arr[i] > arr[j]) {
                temp = arr[i];
                arr[i] = arr[j];
                arr[j] = temp;
            }
        }
    }
    #elif 0  // bubble sort
    for(i = 0; i < n; i++) {
        for(j = 0; j < n - i -1; j++) {
            if(arr[j] > arr[j + 1]) {
                temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }
    #else // quick sort
    qsort(arr, n, sizeof(int), cmp_int);
    #endif


    for (i = 0; i < n; i++) {
        printf("%d ",arr[i]);
    }    


    // write your code here......
    

    free(arr);
    return 0;
}

全部评论

相关推荐

白火同学:能。我当初应届沟通了1200,收简历50,面试10左右吧,加油投吧
点赞 评论 收藏
分享
05-19 19:57
蚌埠学院 Python
2237:Gpa70不算高,建议只写排名,个人技能不在多而在精,缩到8条以内。项目留一个含金量高的,减少间距弄到一页,硕士简历也就一页,本科不要写很多
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务