Her kese merhabalar bu dersimizde Sıralama ve Arama Algoritması sizlere sunacağım, umarım algoritmaya daha iyi bir şekilde anlayacaksınız.

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Random;

public class QuickSort {
	// Diziyi pivot değerine göre bölümleme işlevi
	static int partition(int[] array, int low, int high) {
		
		int j;
		int temp;
		int i = low + 1;
		Random random = new Random();
		int x = random.nextInt(high - low) + low;
		temp = array[low];
		array[x] = temp;
		for(j = low; j <= high; j++) {
			if(array[j] <= array[low] && j != i) {
				temp = array[j];
				array[j] = array[i];
				array[i++] = temp;				
			}
			else if(array[i] <= array[low]) {
				i++;
			}
		}
		temp = array[i - 1];
		array[i -1] = array[low];
		array[low] = temp;
		return i - 1;		
	}
	// Hızlı sıralama uygulama fonksiyonu
	static void quickSort(int[] array, int low, int high) {
		if(low < high) {
			int mid = partition(array, low, high);
			System.out.print(mid);
			quickSort(array, low, mid-1);
			quickSort(array, mid+1, high);			
		}		
	}
	public static void main(String[] args) {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int size;
		System.out.println("Dizinin boyutunu giriniz:");
		try {
			size = Integer.parseInt(br.readLine());
		}catch(Exception e) {
			System.out.println("geçersiz giriş");
			return;
		}
		int[] array = new int[size];
		System.out.println("Dizinin elemanlari");
		int i;
		for(i = 0; i < array.length; i++) {
			try {
				array[i] = Integer.parseInt(br.readLine());
			}catch(Exception e) {
				System.out.println("Hata meydana geldi");
			}
		}
		System.out.println("Girilen Dizi");
		System.out.println(Arrays.toString(array));
		quickSort(array, 0, array.length-1);
		System.out.println("Sıralanmış Dizi");
		System.out.println(Arrays.toString(array));		
	}
}
  • İkinci örnek çıktısı:
    • Dizinin boyutunu giriniz:
    • 4
    • Dizinin elemanları
    • 4
    • .
    • Hata meydana geldi
    • .
    • Hata meydana geldi
    • .
    • Hata meydana geldi
    • Girilen Dizi
    • [4, 0, 0, 0]
  • Üçüncü örnek çıktısı:
    • Dizinin boyutunu giriniz:
    • 3
    • Dizinin elemanları
    • 5
    • 8
    • 9
    • Girilen Dizi
    • [5, 8, 9]

Umarın bu ders sizler için faydalı bir ders olmuştur, ilerideki derslerde görüşmek üzere.

#EvdeKal #HayatEveSigar

Kaynak: www.kriptarium.com