专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

快速排序算法 快速排序算法的平均时间复杂度为

ins518 2024-09-29 18:30:48 技术文章 186 ℃ 0 评论

快速排序算法是冒泡排序算法的一种改进

快速排序算法通过多次比较和交换来实现排序,其排序流程如下:

1、首先设定一个分界值,通过该分界值将数组分成左右两部分;

2、将大于等于分界值的数据集中到数组右边,小于分界值的数据集中到数组的左边;

3、采用递归分别多左右集合进行排序;

4、当左右两部分数据都排序完成后,整个数组的排序就完成了

Bash
#pragma mark - 快速排序
void quickSort(int* s,int start,int end) {
    int i = start,j = end,target = s[start];
    while (i < j) {
        while (i < j && target < s[j]) {
            j--;
        }
        if(i < j) {
            s[i] = s[j];
            i++;
        }
        while (i < j && s[i] <= target) {
            i++;
        }
        if(i < j) {
            s[j] = s[i];
            j--;
        }
    }
    s[i] = target;
    if(i>start)quickSort(s, start, i-1);
    if(i<end)quickSort(s, i+1, end);
}

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表