Java raflara kitap dizme programı

Buğra Özkul

Zeptopat
Katılım
3 Haziran 2021
Mesajlar
4
Bir kütüphanede kırmızı, yeşil, mavi olmak üzere 3 farklı etiket türü vardır. Rafların dizimi için planlanan iki farklı diziliş yöntemi vardır ve bu raflara 42 adet kitap dizilebilir.



Diziliş A: Bir rafa sırasıyla kırmızı, yeşil, mavi kitaplar art arda sıralanacak

Diziliş B: Bir rafa eşit sayıda olmak üzere sırasıyla önce kırmızı, sonra yeşil, en son ise mavi kitaplar sıralanacaktır



Bu problemin kodları yazılırken matematiksel işlem metotlarını kullanınız (örn. a+b yerine addExact(a,b))



Nasıl sıralanır arkadaşlar?
 
Son düzenleyen: Moderatör:
Bir kütüphanede kırmızı, yeşil, mavi olmak üzere 3 farklı etiket türü vardır. Rafların dizimi için planlanan iki farklı diziliş yöntemi vardır ve bu raflara 42 adet kitap dizilebilir.



Diziliş A: Bir rafa sırasıyla kırmızı, yeşil, mavi kitaplar art arda sıralanacak

Diziliş B: Bir rafa eşit sayıda olmak üzere sırasıyla önce kırmızı, sonra yeşil, en son ise mavi kitaplar sıralanacaktır



Bu problemin kodları yazılırken matematiksel işlem metotlarını kullanınız (örn. a+b yerine addExact(a,b))



Nasıl sıralanır arkadaşlar?
Benim de egitminize biraz katkim olsun. Basarilar diliyorum.

Java:
class Permutasyon {

  static void swap(int[] arr, int i, int j) {
    int temp = arr[i];
    arr[i] = arr[j];
    arr[j] = temp;
  }


  static int partition(int[] arr, int low, int high) {

    int pivot = arr[high];

    int i = (low - 1);

    for (int j = low; j <= high - 1; j++) {

      if (arr[j] < pivot) {

        i++;
        swap(arr, i, j);
      }
    }
    swap(arr, i + 1, high);
    return (i + 1);
  }


  static void tazdingo(int[] arr, int low, int high) {
    if (low < high) {

      int pi = partition(arr, low, high);

      tazdingo(arr, low, pi - 1);
      tazdingo(arr, pi + 1, high);
    }
  }

  static void printArray(int[] arr, int size) {
    for (int i = 0; i < size; i++) {
      System.out.print(arr[i] + " ");
    }

    System.out.println();
  }

  public static void main(String[] args) {
    int[] arr = {10, 7, 8, 9, 1, 5}; // zarlar
    int n = arr.length;

    tazdingo(arr, 0, n - 1);
    System.out.println("Zar sonucu: ");
    printArray(arr, n);
  }
}
 
Benim de egitminize biraz katkim olsun. Basarilar diliyorum.

Java:
class Permutasyon {

  static void swap(int[] arr, int i, int j) {
    int temp = arr[i];
    arr[i] = arr[j];
    arr[j] = temp;
  }


  static int partition(int[] arr, int low, int high) {

    int pivot = arr[high];

    int i = (low - 1);

    for (int j = low; j <= high - 1; j++) {

      if (arr[j] < pivot) {

        i++;
        swap(arr, i, j);
      }
    }
    swap(arr, i + 1, high);
    return (i + 1);
  }


  static void tazdingo(int[] arr, int low, int high) {
    if (low < high) {

      int pi = partition(arr, low, high);

      tazdingo(arr, low, pi - 1);
      tazdingo(arr, pi + 1, high);
    }
  }

  static void printArray(int[] arr, int size) {
    for (int i = 0; i < size; i++) {
      System.out.print(arr[i] + " ");
    }

    System.out.println();
  }

  public static void main(String[] args) {
    int[] arr = {10, 7, 8, 9, 1, 5}; // zarlar
    int n = arr.length;

    tazdingo(arr, 0, n - 1);
    System.out.println("Zar sonucu: ");
    printArray(arr, n);
  }
}
Teşekkürlerr.
 

Geri
Yukarı