Hello,
I want to sort numbers in an arrey without using sort function, but with bubblesort (swapping number next each other until all numbers are sorted)
Here is what I have…
X=[10 1 29 89 5 56 76 8];finished=0;while finished==0 if finished==0 for i=1:size(X,2)-1 if X(i)>X(i+1) c=X(i); X(i)=X(i+1); X(i+1)=c; end end end if X(i)<X(i+1) || X(i)==X(i+1) finished=1; endenddisp(X)
I understand that this loop works by comparing numbers next each other (like comparing 10 with 1). Then, if the front number (10) is bigger than the next number (1), the numbers are swaped. However, I want to break the loop once all numbers are sorted from the minimum number to the maximum number.
The code above only sorts the numbers until [1,10,29,5,56,76,8,89], so I want to loop several more to complete the sorting, but I want the code stops when the sorting is done. Otherwise, the code keeps on looping again and again.
I really appreciate if I get some help with this problem.
Best Answer