龙空技术网

每日一算:快速排序算法

Hisschat 72

前言:

现在大家对“最快速的算法是什么”大概比较重视,你们都需要了解一些“最快速的算法是什么”的相关资讯。那么小编在网络上汇集了一些对于“最快速的算法是什么””的相关资讯,希望你们能喜欢,你们一起来了解一下吧!

将提供的数字数组进行排序。

    public static void lengthOfLongestSubstring(int[] s, int low, int high) {        int i, j, pivot, temp;        if(low > high) {            return;        }        i = low;        j = high;        // 随机选定一个数字,这里默认选择第一个        pivot = s[low];        while(i < j) {            // 从最高位向左寻找小于pivot的数            while(s[j] >= pivot && i < j) {                j--;            }            // 从最低位向右寻找大于pivot的数            while(s[i] <= pivot && i < j) {                i++;            }            if(i < j) {                temp = s[i];                s[i] = s[j];                s[j] = temp;            }        }        //将基准数字和i与j碰头的数字交换        s[low] = s[i];        s[i] = pivot;        //拆分的两个数组继续各自进行排序        lengthOfLongestSubstring(s, low, i - 1);        lengthOfLongestSubstring(s, i + 1, high);    }

标签: #最快速的算法是什么