算法小实验——分治算法快速排序问题实验(含报告)

实验名称

快速排序问题实验

问题描述

选择数组的第一个元素作为基准,并将数组分为两个部分:左边的元素小于基准,右边的元素大于基准。

代码演示

c 复制代码
#include <stdio.h>
void quickSort(int arr[], int low, int high) {
    if (low < high) {
        int pivot = arr[low]; 
        int left = low + 1;
        int right = high;
        while (left <= right) {
            while (left <= right && arr[left] <= pivot) {
                left++;
            }
            while (left <= right && arr[right] >= pivot) {
                right--;
            }
            if (left < right) {
                int temp = arr[left];
                arr[left] = arr[right];
                arr[right] = temp;
            }
        }
        arr[low] = arr[right];
        arr[right] = pivot;
        quickSort(arr, low, right - 1);
        quickSort(arr, right + 1, high);
    }
}

int main() {
    int arr[] = {24, 7, 23, 39, 5, 43};
    int n = sizeof(arr) / sizeof(arr[0]);
    quickSort(arr, 0, n - 1);
    for (int i = 0; i < n; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");
    return 0;
}
    

分治算法快速排序问题实验报告
点赞关注,感谢您的支持 ^ _ ^

如有错误,还请您批评指正🤝 🤝 🤝

相关推荐
SZYSK27 分钟前
OpenHarmony 上读卡、推理和双屏刷新抢 CPU:核验机与消费机的调度差
物联网·算法·harmonyos·1024程序员节
Ivanqhz1 小时前
MoE + LLM 应用
数据库·人工智能·pytorch·python·深度学习·算法·1024程序员节
lpfasd1231 小时前
推荐算法进化史
算法·机器学习·推荐算法
Pniubi1 小时前
力扣543二叉树的直径(深度优先搜索法(递归))
算法·leetcode·职场和发展
听风说ml11 小时前
socket编程 【C语言】
c语言·udp·tcp·socket编程
学逆向的12 小时前
C 局部静态变量
c语言·开发语言·网络安全
UIU11412 小时前
P1233 [ICPC 2001 Taejon R] 木棍加工
数据结构·c++·算法·动态规划
论文复现现场13 小时前
WRF、FEA 能用 L40S 加速吗?求解器检查、断点恢复与长期运行
java·数据库·算法·wrf·有限元分析·gpu计算·断点续算
ZhengEnCi13 小时前
用 AI 写代码为什么拼到最后还是拼人:算力瓶颈与领域专家提示词的本质差异
算法·架构
秋天的怀念_David14 小时前
第二十一夜 · 数字黑洞与西西弗斯的惩罚
java·程序人生·算法