zoukankan      html  css  js  c++  java
  • 插入排序与快排

    #include< stdio.h>
    #define ARR_SIZE(a)    (sizeof((a)) / sizeof((a[0])))

    int a[] = {1, 23, 32, 0, 2, 5, 23};

    void insert_sort(int *a, int n) {
        int i, j, temp;

        for (i = 1; i < n; i++) {
            temp = a[i];
            for (j = i - 1; j >= 0 && temp < a[j]; j--) {
                a[j + 1] = a[j];
            }

            a[j + 1] = temp;
        }
    }
    void quick_sort(int *a, size_t left, size_t right){
        size_t p = (left + right) / 2;
        int pivot = a[p];
        size_t i = left, j = right;

        for(;i < j;){
            while (i < p && a[i] <= pivot)++i;
            if (i < p){
                a[p] = a[i];
                p = i;
            }
            while (j > p && a[j] >= pivot)--j;
            if (j > p){
                a[p] = a[j];
                p = j;
            }
            a[p] = pivot;

            if (p - left > 1)quick_sort(a, left, p - 1);
            if(right - p > 1)quick_sort(a, p + 1, right);
        }
    }

    void display(int n){
        for (int i = 0; i < n; ++i)printf("%d ", a[i]);
        printf (" ");
    }

    int main(void){
        quick_sort(a, 0, ARR_SIZE(a) - 1);
        display(ARR_SIZE(a));
    }
  • 相关阅读:
    姚班
    xxx
    1358B
    1368A
    莫烦Tensorflow 建造自己的NN
    莫烦Tensorflow 入门
    linux服务器安装Apache (Centos)
    C++ 获取Linux 服务器CPU占用率+内存空闲率(亲测绝对可以运行)
    MySQL主键从初始值自增
    基础练习 矩阵乘法
  • 原文地址:https://www.cnblogs.com/wuOverflow/p/4098741.html
Copyright © 2011-2022 走看看