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

2 ビュー (過去 30 日間)
Jillian Sweatt
Jillian Sweatt 2015 年 11 月 5 日
回答済み: Thorsten 2015 年 11 月 5 日
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 Center および File ExchangeShifting and Sorting Matrices についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by