How do I sort an array in descending order without using the sort function?

2 visualizaciones (últimos 30 días)
A = [2 1 4 3 6 5 8 7 10 9 12 11 14 13 16 15 18 17 20 19]

Respuesta aceptada

Thorsten
Thorsten el 5 de Nov. de 2015
You can use bubble sort:
swapped = 1;
while swapped
swapped = 0;
for i=1:numel(A)-1
if A(i+1) > A(i)
temp = A(i); A(i) = A(i+1); A(i+1) = temp; swapped = 1;
end
end
end

Más respuestas (2)

Walter Roberson
Walter Roberson el 5 de Nov. de 2015
flipud(unique(A(:)))

Stephen23
Stephen23 el 5 de Nov. de 2015
Editada: Stephen23 el 5 de Nov. de 2015
Here are a few ways to sort an array of unique values without using sort:
sortrows(A(:),-1)
A(end:-1:1) = unique(A);
fliplr(union(A,A(1)))
fliplr(setdiff(A,NaN))

Categorías

Más información sobre Shifting and Sorting Matrices en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by