赞
踩
function sorted_array = quicksort(array)
if length(array) <= 1 sorted_array = array;
else pivot = array(end);
array(end) = [];
less = array(array <= pivot);
greater = array(array > pivot);
sorted_array = [quicksort(less), pivot, quicksort(greater)];
end
end
array=[3,2,1,8,6,122,34,21,2232,43333,453,12,233,44]
quicksort(array)
Matlab 中快速排序的代码实现如下:
复制
function sorted_array = quicksort(array)
if length(array) <= 1
sorted_array = array;
else
pivot = array(end);
array(end) = [];
less = array(array <= pivot);
greater = array(array > pivot);
sorted_array = [quicksort(less), pivot, quicksort(greater)];
end
end
上述代码使用递归的方法实现快速排序算法。首先,如果数组长度小于等于1,则该数组已经排序;否则,以数组最后一个元素为枢轴,将数组划分为比枢轴小的部分和比枢轴大的部分,再递归地对这两部分分别进行快速排序,最后将结果合并即可。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。