how can i sort a matrix (all rows and columns are sorted) without using any special function like "sort"?
    6 views (last 30 days)
  
       Show older comments
    
i guess it has to do something with "min" and "max" functions...
for example:
A = [2 3 4 5; 6 9 1 5]; %%%"A" can be of any size %%%
%%%B = sorted A %%%
min(A) = [2 3 1 5]; %%%1st unsorted row of B %%%
max(A) = [6 9 4 5]; %%%2nd unsorted row of B %%%
now i've to sort the rows...
any idea?
2 Comments
Answers (3)
  Babak
      
 on 6 Dec 2012
        
      Edited: Babak
      
 on 6 Dec 2012
  
      If you don't want to use sort() then you can write your own sorting algorithm. Like this one (untested):
 function B = mysortfunc(A)
  if size(A,1)*size(A,2)~=length(A)
    errordlg('enter a vector');
    return
  end
  if size(A,2)~=1
    A=A';
  end
 rem_A = A;
 for j=1:length(A)
  [value,index] = min(rem_A);
  B(j) = value;
 if index>1
   A1 = rem_A(1:index-1);
 else
   A1=[];
 end
 if index<length(rem_A)
   A2 = rem_A(index+1:end);
 else
   A2 = [];
 end
 rem_A = [A1 , A2]
 end
3 Comments
  Jan
      
      
 on 9 Dec 2012
				I'm convinced, that even the scroll of parchment in the Egypt libraries have been sorted with smarter methods 5000 years ago, but I cannot find any resources to prove this.
The optimal sorting machine is still the SFL (spaghetti fork lifter): Cut spaghetti noodles according to the values to be sorted. Lift them up and push them against a wall. The processing time does not depend on the number of elements and even the pre-processing is only O(n).
  Pritesh Shah
      
 on 7 Dec 2012
        Simple Solution A = [2 3 4 5; 6 9 1 5]
A =
     2     3     4     5
     6     9     1     5
>> sort(min(A))
ans =
     1     2     3     5
1 Comment
  John Petersen
      
 on 7 Dec 2012
				You used 'sort' which he specifically requested not to be used, and he also specified that A could be any size.
See Also
Categories
				Find more on Shifting and Sorting Matrices in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!