我在做一个信号处理的程序,将采集的信号做完FFT变换之后存在一个数组里(下标表示频率,数组元素表示峰值),现在需要显示这个数组里的十个最大峰值和对应的频率,请问有没有高效率一点的方法呢?求源码!
解决方案 »
- delphi 的 com 的问题
- 95那个JR过两天生日,我自愿放分-_-" (顺便发我昨天的日记)
- 请问如何解决数据库存储和控件中显示不一致的问题??
- TO 多文档窗体问题。
- Tag权限设置问题,最后的十分,祝大家十分健康
- 我要接受硬件通过扫描而取得的数据,但不知到怎样去做,请各位高手说一下思路?
- 如何在列表框中画多个组合框,并进行多行选择?
- 如何在DbGrid中的某列实现类似DBCheckBox的功能
- 如何创建一个没有窗体的小程序,在这个程序中创建一个timer,并且设置好timer的属性和事件?
- 初学网络这块,大家给个思路。
- 报表打印排列问题急!!!
- 帮我看一下我的ListView1怎么显示不了系统的图标
定义一个数组max【10】用来存放10个最大值;其中max【1】最大;max【10】最小
用循环处理;在发现有比max【10】更大的值;让该数值跟max【1】..max【9】进行重新排序;
说明:对整形数组A进行排序procedure QSort(var A: array of Integer); procedure QuickSort(var A: array of Integer; iLo, iHi: Integer);
var
Lo, Hi, Mid, T: Integer;
begin
Lo := iLo;
Hi := iHi;
Mid := A[(Lo + Hi) div 2];
repeat
while A[Lo] < Mid do Inc(Lo);
while A[Hi] > Mid do Dec(Hi);
if Lo <= Hi then
begin
VisualSwap(A[Lo], A[Hi], Lo, Hi);
T := A[Lo];
A[Lo] := A[Hi];
A[Hi] := T;
Inc(Lo);
Dec(Hi);
end;
until Lo > Hi;
if Hi > iLo then QuickSort(A, iLo, Hi);
if Lo < iHi then QuickSort(A, Lo, iHi);
if Terminated then Exit;
end;begin
QuickSort(A, Low(A), High(A));
end;
然后,select top 10 from XTableName oder by XFieldName Desc
就可以了,简单吧!(哈哈)
"认识了斧子,就觉得所有的问题都是钉子!",哈哈哈!
谢谢你对我的评价,其实这也是解决问题的一种方式,我们不一定都要落俗套!