完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
只有C中的qsort存在,调用比较麻烦,其实在数据结构中,快速排序法是经典排序之一,上网搜了一下简介,把对应的VC程序改了一下,做成了下面的matlab代码:
% 快速排序法 % 基本的思想:通过一趟排序将待排的记录分割成独立的两部分, % 其中前一部分的 记录的关键字均比另一部分记录的关键字小, % 再分别对两组记录进行递归分割,达到排序的目的 % 平均时间复杂度为 O(log2(n)) function qsort_main() A = rand(100, 1) * 30; data = A; low = 1; high = 100; data = QSort(data, low, high) A function data = QSort(data, low, high) if nargin == 1 low = 1; high = length(data); end if(low data = QSort( data, low, pivokey - 1 ); data = QSort( data, pivokey + 1, high ); end % 将数组分成两部分,前一部分的值均比后一部分值小 % 返回分界点 function [data low] = qPartition(data, low, high) if nargin == 1 low = 1; hight = length(data); end pivokey=data(low); while low < high while low < high & data(high) >= pivokey high = high - 1; end c = data(low); d = data(high); data(low) = d; data(high) = c; while low < high & data(low) <= pivokey low = low + 1; end c = data(low); d = data(high); data(low) = d; data(high) = c; end 可以分别保存,也可以保存成一个文件,直接使用,效果挺好的
|
|
相关推荐
|
|
1642 浏览 1 评论
200圆!求助大佬给一份VSG并网和离网模式的simulink仿真
1918 浏览 0 评论
MATLAB(3)--矩阵的引用(sub2ind、ind2sub、reshape函数使用)
2739 浏览 0 评论
3074 浏览 0 评论
4096 浏览 1 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 20:05 , Processed in 0.366587 second(s), Total 37, Slave 28 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号