Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Array
- protected
- attr_accessor :matrix
- public
- def sort_with_matrix
- item_with_index = self.map.with_index { |item,i| [item,i] }
- item_with_index.sort_by! { |item,i| item }
- new_array = []
- matrix = []
- item_with_index.each do |item,i|
- new_array << item
- matrix << i
- end
- new_array.matrix = matrix
- return new_array
- end
- def sort_with_matrix!
- new_array = self.sort_with_matrix
- self.replace(new_array)
- @matrix = new_array.matrix
- return self
- end
- def unsort
- new_array = []
- @matrix.each_with_index do |j,i|
- new_array[j] = self[i]
- end
- @matrix = []
- return new_array
- end
- def unsort!
- self.replace(self.unsort)
- @matrix = []
- self
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement