Bird
Raised Fist0
Rubyprogramming~5 mins

Array sorting and reversing in Ruby - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
How do you sort an array in Ruby in ascending order?
Use the sort method. For example, [3, 1, 2].sort returns [1, 2, 3].
Click to reveal answer
beginner
How do you reverse the order of elements in an array in Ruby?
Use the reverse method. For example, [1, 2, 3].reverse returns [3, 2, 1].
Click to reveal answer
intermediate
What does the sort! method do in Ruby?
It sorts the array in place, changing the original array instead of creating a new one.
Click to reveal answer
intermediate
How can you sort an array in descending order in Ruby?
You can use sort.reverse or sort { |a, b| b <=> a } to sort in descending order.
Click to reveal answer
intermediate
What is the difference between reverse and reverse! methods?
reverse returns a new array with elements reversed, while reverse! reverses the elements in the original array itself.
Click to reveal answer
Which Ruby method sorts an array without changing the original array?
Areverse
Bsort
Csort!
Dreverse!
What does [5, 3, 8].reverse return?
A[8, 5, 3]
B[8, 3, 5]
C[3, 5, 8]
D[5, 3, 8]
How do you sort an array in descending order in Ruby?
Aarray.reverse!
Barray.reverse.sort
Carray.sort!
Darray.sort.reverse
Which method changes the original array when reversing it?
Areverse!
Breverse
Csort
Dsort!
What does sort! do?
ASorts and returns a new array
BDoes nothing
CSorts the original array in place
DReverses the array
Explain how to sort and reverse an array in Ruby, including how to do it without changing the original array.
Think about methods that return new arrays versus those that change the original.
You got /4 concepts.
    Describe the difference between sort and sort!, and when you might want to use each.
    Consider if you want to keep the original array unchanged or not.
    You got /4 concepts.

      Practice

      (1/5)
      1. What does the Ruby method sort do when called on an array?
      easy
      A. It arranges the elements in ascending order.
      B. It reverses the order of elements.
      C. It removes duplicate elements.
      D. It shuffles the elements randomly.

      Solution

      1. Step 1: Understand the purpose of sort

        The sort method arranges elements in ascending order by default.
      2. Step 2: Compare with other methods

        Unlike reverse which flips order, sort orders elements from smallest to largest.
      3. Final Answer:

        It arranges the elements in ascending order. -> Option A
      4. Quick Check:

        sort = ascending order [OK]
      Hint: Remember: sort arranges ascending, reverse flips order [OK]
      Common Mistakes:
      • Confusing sort with reverse
      • Thinking sort removes duplicates
      • Assuming sort shuffles elements
      2. Which of the following is the correct syntax to reverse an array arr in Ruby?
      easy
      A. arr.reverse!
      B. arr.reverse[]
      C. reverse.arr()
      D. arr.reverse()!

      Solution

      1. Step 1: Identify the correct method call

        The method to reverse an array in place is reverse! called on the array object.
      2. Step 2: Check syntax correctness

        Only arr.reverse! is valid Ruby syntax; others are incorrect method calls or misplaced symbols.
      3. Final Answer:

        arr.reverse! -> Option A
      4. Quick Check:

        reverse! modifies array in place [OK]
      Hint: Use reverse! to reverse array in place [OK]
      Common Mistakes:
      • Using parentheses incorrectly
      • Placing exclamation mark after parentheses
      • Calling reverse as a standalone function
      3. What is the output of the following Ruby code?
      arr = [3, 1, 4, 2]
      sorted_arr = arr.sort
      reversed_arr = sorted_arr.reverse
      puts reversed_arr.inspect
      medium
      A. [1, 2, 3, 4]
      B. [3, 1, 4, 2]
      C. [4, 3, 2, 1]
      D. [2, 4, 1, 3]

      Solution

      1. Step 1: Sort the original array

        Calling arr.sort returns a new array sorted ascending: [1, 2, 3, 4].
      2. Step 2: Reverse the sorted array

        Calling sorted_arr.reverse flips the order to [4, 3, 2, 1].
      3. Final Answer:

        [4, 3, 2, 1] -> Option C
      4. Quick Check:

        sort then reverse = descending order [OK]
      Hint: Sort then reverse = descending order [OK]
      Common Mistakes:
      • Assuming reverse modifies original array
      • Confusing sorted array with original
      • Expecting reverse to sort ascending
      4. Identify the error in this Ruby code snippet:
      arr = [5, 2, 9]
      arr.sort!
      arr.reverse
      puts arr.inspect
      medium
      A. Missing parentheses in method calls cause errors.
      B. The sort! method is invalid syntax.
      C. The array arr cannot be reversed after sorting.
      D. Using reverse does not change arr in place.

      Solution

      1. Step 1: Understand sort! effect

        sort! sorts the array arr in place, so arr becomes [2, 5, 9].
      2. Step 2: Check reverse method usage

        reverse returns a new reversed array but does not modify arr itself.
      3. Final Answer:

        Using reverse does not change arr in place. -> Option D
      4. Quick Check:

        reverse without ! returns new array [OK]
      Hint: Use reverse! to modify array in place [OK]
      Common Mistakes:
      • Assuming reverse changes original array
      • Thinking sort! is invalid
      • Believing method calls need parentheses always
      5. Given an array arr = [7, 3, 5, 3, 9, 1], how can you create a new array that is sorted in descending order without changing the original array?
      hard
      A. Use arr.sort! then arr.reverse!
      B. Use arr.sort.reverse
      C. Use arr.reverse.sort
      D. Use arr.reverse! then arr.sort!

      Solution

      1. Step 1: Sort the array without modifying original

        arr.sort returns a new sorted array ascending, original arr stays unchanged.
      2. Step 2: Reverse the sorted array to get descending order

        Calling reverse on the sorted array returns a new array reversed, still not changing original.
      3. Final Answer:

        Use arr.sort.reverse -> Option B
      4. Quick Check:

        sort then reverse = descending new array [OK]
      Hint: Chain sort then reverse to get descending without changing original [OK]
      Common Mistakes:
      • Using sort! or reverse! which modify original array
      • Reversing before sorting
      • Expecting reverse.sort to work the same
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard