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

조회 수: 5 (최근 30일)
A = [2 1 4 3 6 5 8 7 10 9 12 11 14 13 16 15 18 17 20 19]

채택된 답변

Thorsten
Thorsten 2015년 11월 5일
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

추가 답변 (2개)

Walter Roberson
Walter Roberson 2015년 11월 5일
flipud(unique(A(:)))

Stephen23
Stephen23 2015년 11월 5일
편집: Stephen23 2015년 11월 5일
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))

카테고리

Help CenterFile Exchange에서 Shifting and Sorting Matrices에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by