MATLAB Answers

How can i find the sorted indexing of the array

1 view (last 30 days)
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)

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 6 May 2019
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,:);

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!