快速排序中的划分算法——数据结构

排序在数据结构中是很重要的一个部分,而快排有时我们使用最频繁的排序算法,划分算法又是快排中的精髓,下面就介绍如何写快速排序算法中的划分算法

首先给出一组数据,在给出在数组中的最低位(low)和最高位(high),并且将数组的0号位置作为监视哨使用,用来存放当前要划分的数字,然后以这个数字为基准进行划分,当在low

#include 
#include 
int divide(int R[],int low,int high)
{
    R[0]=R[low];
    while(lowR[0])
            high--;
            if(low

而快速排序就是在多次重复的进行划分算法,此算法的时间复杂度为O(nlog2n),空间复杂度为(log2n),因为是递归的执行用到堆栈

你可能感兴趣的:(C语言划分算法,快速排序中的划分算法,数据结构划分算法)