How to manipulate arrays?
이전 댓글 표시
Hello! I am trying to create a script in which I sort an array in descending order without using any sort function. So far, I came up with this:
A = [2 1 4 3 6 5 8 7 10 9 12 11 14 13 16 15 18 17 20 19];
n = 1;
while n <= length(A)
if A(n) < A(n+1)
tmp = A(n);
A(n) = A(n+1);
A(n+1) = tmp;
end
n = n +1;
end
I thought it would be this simple, but it apparently isn't. One of the things I do not know how to do is place a value of one array into a new array, which I feel is vital in a script like this, but I did not know how to do it, so I did not implement it. Any help will be appreciated. Thank you in advance!
채택된 답변
추가 답변 (2개)
Walter Roberson
2015년 10월 31일
B(m) = A(n);
for some m and n.
However, that is not the reason your code is not working. You have implemented one pass of a "bubble sort". If your input were [3 2 1] then when n=1 it would change to [2 3 1] and then when n=2 it would change to [2 1 3] (and in the next pass it would crash because you would be trying to compare A(3) to the non-existent A(4), but that is trivially fixed.) Notice that the "2" and the "1" never get compared to each other. You will need to re-examine your strategy to fix that.
댓글 수: 1
Shawn Simon
2015년 10월 31일
편집: Shawn Simon
2015년 10월 31일
timo
2015년 10월 31일
Dont reinvent the wheel
>> x =py.list([5,4,1,2,3,7])
x =
Python list with no properties.
[5.0, 4.0, 1.0, 2.0, 3.0, 7.0]
>> x.sort
>> x
x =
Python list with no properties.
[1.0, 2.0, 3.0, 4.0, 5.0, 7.0]
댓글 수: 3
Star Strider
2015년 10월 31일
‘I am trying to create a script in which I sort an array in descending order without using any sort function.’
timo
2015년 11월 1일
but why ? Too much free time ?
Star Strider
2015년 11월 1일
It could be just to see how a sort script works, and to learn programming processes and logic in the process. Some people have the sort of insatiable curiosity about such things that will carry them far. Shawn is likely one such person.
카테고리
도움말 센터 및 File Exchange에서 Shifting and Sorting Matrices에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!