zoukankan      html  css  js  c++  java
  • 八大排序算法(六) 快速排序

    这里写图片描述

    #include <stdio.h>
    #include <time.h>
    #include <stdlib.h>
    #define SIZE 10
    int n[SIZE];
    
    void init(int n[], int len){
        int i;
        srand((unsigned)time(NULL));
        for (i=0; i<len; i++){
            n[i] = rand()%10+1;
        }
    }
    
    void printout(int n[], int len){
        int i;
        for (i=0; i<len; i++){
            printf("%d ", n[i]);
        }
        printf("
    ");
    }
    // 注意不断和远端数据进行比较
    void QuickSort(int n[], int low, int high){
        int i, j;
        int tmp;
    
        if (low >= high)  return;
    
        i = low;
        j = high;
        tmp = n[i];
        while (i <j ){
            /////////////////////////////////
            while (i<j && tmp <n[j]) j--;
            if (i<j) n[i++] = n[j];
    
            ///////////////////////////////
            while (i<j && n[i]<tmp) i++;
            if (i<j) n[j--] = n[i];
        }
    
        n[i] = tmp;
        QuickSort(n, low, j-1);
        QuickSort(n, i+1, high);
    }
    
    int main(){
        init(n, SIZE);
        printout(n, SIZE);
        QuickSort(n, 0, SIZE-1);
        printout(n, SIZE);
        return 0;
    }

    运行图:
    这里写图片描述

  • 相关阅读:
    分治
    #include<algorithm>
    c++标准模板库的使用
    mysql_day03
    mysql_day02
    mysql_day01
    mongodb的安装
    迭代器和生成器简单介绍
    File文件操作
    数据类型
  • 原文地址:https://www.cnblogs.com/laohaozi/p/8266576.html
Copyright © 2011-2022 走看看