input: Write a function to move all zeroes in a given list to the end of the list while maintaining the relative order of the non-zero elements. If the given list is empty, return an empty list.
  assert move_zeroes([3, 0, 1, 0, 5, 0, 2])==[3, 1, 5, 2, 0, 0, 0]
  assert move_zeroes([0, 0, 0, 0])==[0, 0, 0, 0]
  assert move_zeroes([1, 2, 3])==[1, 2, 3]
  assert move_zeroes([])==[]
  assert move_zeroes([0, 0, 1, 0, 2])==[1, 2, 0, 0, 0]
output: def move_zeroes(nums):
      non_zero_elements = [num for num in nums if num != 0]
      zero_elements = [0] * (len(nums) - len(non_zero_elements))
      return non_zero_elements + zero_elements