當前位置:編程學習大全網 - 網站源碼 - 急……matlab 編程實現對壹個向量二重指標排序

急……matlab 編程實現對壹個向量二重指標排序

clear all

clc

n=10; %設定向量維數

A=[6 2 2 3 1 5 5 5 7 3]; %測試用向量

B=[3 4 6 4 7 9 3 9 5 1]; %測試用向量

%**********以下為第壹次排序**********

[A1 index]=sort(A,'descend');

for ni=1:n

B1(ni)=B(index(ni));

end

A0=A1; %第壹次排序後結果

B0=B1; %第壹次排序後結果

%*************************************

%**********以下進行第二次排序***********

%第二次排序的思想是:從向量A1(降序排列的)中的第壹個數開始

%依次進行比較,第n個數和其後的所有數比較是否相等,出現第壹個

%不相同的數則本次比較結束並記錄下相同數的個數m1,並對這m1個相同數

%所對應的B1向量中相應位置數進行升序排列,

%下次比較時從n+m1+1個數開始

ni=1;

while ni<n

nj=ni+1;

while nj<=(n)

m=nj;

if A1(ni)==A1(m)

nj=nj+1;

else

nj=n+1;

end

end

B1(ni:(m-1))=sort(B1(ni:(m-1)));

ni=m;

end

%*************排序最終結果為A1和B1************

  • 上一篇:許多和許多之間的區別
  • 下一篇:ZLG致遠電子的USBCAN-2E-U支持CANopen嗎?
  • copyright 2024編程學習大全網