快速排序(c#)

快速排序法


操作

1.用Partition()函数取得划分数,严的教材该数选的是数组第一个数。

2.将小于划分树的左侧放小于它的数,在右边放比它大的数。此时划分数的位置不需移动,就为它的排序完成后的位置。

3.将划分数的左侧数组和右侧数组分别迭代,直到左右数组为空或者为1。


代码

划分算法

//划分区域返回划分点的最终位置
        public int Partition(int[] s,int low, int high)
        {
            //选数组的第一个点为划分点
            int pos=s[low];
            while(low=pos&&low

返回值:low(为最终划分数的位置)

迭代排序

//递归方式
        public void RecursiveQSott(int[] s,int low,int high)
        {
            if(low

你可能感兴趣的:(快速排序(c#))