how can I create a vector with unknown length?

13 vues (au cours des 30 derniers jours)
sapir
sapir le 9 Mai 2013
I need to create a user defined function that recieves a vector x of any length and than sorts the vector from the largest to the smallest into a new vector y. I'm not allowed to use the function sort. I have no idea how to begin! please help me!! thank u!!!

Réponses (3)

Roger Stafford
Roger Stafford le 9 Mai 2013
This article should be of help to you.
https://en.wikipedia.org/wiki/Sorting_algorithm
I tend to prefer the merge sort algorithm.

John Doe
John Doe le 9 Mai 2013
Modifié(e) : John Doe le 9 Mai 2013
The most intuitive (and simple to implement) is probably bubble sort:
Since this is an assignment, I'll leave some of it open, so fill in the blanks =)
n=length(A);
for j=1:1:n-1
% comparing each number with the next and swapping
for i=1:1:n-1
if ...
% In here you should check if A(i) > A(i+1)
% If so, switch places. You need a temporary
% variable, in order to not overwrite something.
end
end
end
Good luck =)

Sean de Wolski
Sean de Wolski le 9 Mai 2013
xsorted = sortrows(x(:),-1)

Catégories

En savoir plus sur Shifting and Sorting Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by