当前位置: 首页 > article >正文

快速排序c语言版

//快速排序
#include<stdio.h>
int temp;

int  Partation(int* a, int low, int high) {
    int pivot = a[high];
    int i, j;
    i = low - 1;
    for (j = low;j <high;j++) {//因为pivot取的是a[high]的值所以可不参与比较
        if (a[j] < pivot) {
            i++;
            temp = a[i];
            a[i] = a[j];
            a[j] = temp;//将小于基准值的数放在左边
        }
    }
    temp = a[i + 1];
    a[i + 1] = pivot;
    a[high] = temp;//将基准值放在正确的位置,左边小于他,右边大于它
    return i + 1;
}


void QuickSort(int *a,int low,int high) {
    if (low >= high) {//结束条件放最前面
        return;
    }
    else {
        int part = Partation(a, low, high);
        QuickSort(a, low, part - 1);
        QuickSort(a, part+1,high);
    }

}
int main(void) {
    int a[] = {8,3,4,2,5,6,6,78,9};
    int low = 0;
    int high = sizeof(a) / sizeof(a[0])-1;
    QuickSort(a, low, high);
    //快速排序后的数组
    int i;
    for (i = low;i <= high;i++) {
        printf("%d\n", a[i]);
    }

    return 0;
}


http://www.kler.cn/a/579458.html

相关文章:

  • Windows编译环境搭建(MSYS2\MinGW\cmake)
  • langchain4j+ONNX小试牛刀
  • STM32如何精准控制步进电机?
  • 解决CentOS 8.5被恶意扫描的问题
  • Ubuntu切换lowlatency内核
  • LeetCode1871 跳跃游戏VII
  • css错峰布局/瀑布流样式(类似于快手样式)
  • pyqt联合designer的运用和设置
  • 【人工智能】卷积神经网络的奥秘:深度学习的视觉革命
  • Github 2025-03-09 php开源项目日报Top10
  • Android MXPlayer-v1.86.0-wushidi专业版[原团队最后一个版本]
  • 视觉-语言模型-出发点CLIP--(精读论文)
  • 解决:Word 保存文档失败,重启电脑后,Word 在试图打开文件时遇到错误
  • 【c语言概述、数据类型、运算符与表达式精选题】
  • ROS云课基础题库-01C++案例-甜甜圈
  • C++ 学生成绩管理系统
  • Docker Desktop 安装与使用详解
  • 牛客python蓝桥杯11-32(自用)
  • 全域网络安全防御 健全网络安全防护体系
  • 数据科学如何助力游戏增长