кодесурса

Упражнения на Java: переместить каждый ноль в правую часть заданного массива целых чисел

script1adsense2code
script1adsense3code

Java Basic: упражнение 167 с решением

Напишите программу на Java, чтобы переместить каждый ноль в правую часть заданного массива целых чисел.

Иллюстрированная презентация:


Пример решения:

Java-код:

import java.util.*;
public class Solution {	
 public static int[] move_zero(int[] nums) {
     if (nums == null) {
      throw new IllegalArgumentException("Null array!");
    }
    boolean swap = true;
    while (swap) {
      swap = false;
      for (int i = 0; i < nums.length - 1; i++) {
        if (nums[i] == 0 && nums[i + 1] != 0) {
          swap(nums, i, i + 1);
          swap = true;
        }
      }
    }
	return nums;
  }
  private static void swap(int[] nums, int a, int b) {
    int temp = nums[a];
    nums[a] = nums[b];
    nums[b] = temp;
  }
    public static void main(String[] args) {
		int[] nums = {0,3,4,0,1,2,5,0};
		System.out.println("\nOriginal array: "+Arrays.toString(nums));  
		int[] result = move_zero(nums);
 		System.out.println("\nResult: " + Arrays.toString(result));		
		}
}

Пример вывода:

 Исходный массив: [0, 3, 4, 0, 1, 2, 5, 0]
Результат: [3, 4, 1, 2, 5, 0, 0, 0]

Блок - схема:

«Блок-схема:

Редактор кода Java:

Внесите свой код и комментарии через Disqus.

Previous: написать программу на Java для преобразования заданного целого числа в формат String.
Далее: Напишите программу на Java для умножения двух заданных целых чисел без использования оператора умножения (*).

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code