MATLAB: How can i find the sorted indexing of the array

indexingsort

Hi, Sir how can i find the sorted indexing of the array when i am sorting it in the same code??
A = [2 9 6 5 8]
swapped = 1;
while swapped
swapped = 0;
for i=1:numel(A)-1
if A(i+1) > A(i)
memory = A(i);
A(i) = A(i+1);
A(i+1) = memory;
swapped = 1;
end
end
end
disp(A)

Best Answer

  • A = [2 9 6 5 8];
    n = numel(A);
    AA = [A;1:n];
    swapped = 1;
    while swapped
    swapped = 0;
    for ii = 1:n-1
    if AA(1,ii+1) > AA(1,ii)
    memory = AA(:,ii);
    AA(:,ii) = AA(:,ii+1);
    AA(:,ii+1) = memory;
    swapped = 1;
    end
    end
    end
    Asort = AA(1,:);
    Index_sort = AA(2,:);