Kayıtlar

Aralık, 2016 tarihine ait yayınlar gösteriliyor

Bağli liste de kuyruk

//Düğüm sınıfımız class node {     Object element;     node next;     public node() {     }     public node(Object e, node n) {         element = e;         next = n;     } } //bağlı liste ekleme silme sınıfımız class bagliKuyruk {     node rear = null, front = null;     int size = 0;     //eleman ekleme     public void push(int data) {         node newnode = new node();         newnode.element = data;         newnode.next = null;         if (front == null) {             front = newnode;             rear = newnode;         } else {             rear.next = newnode;             rear = newnode;         }     }     //eleman silme     public Object push() {         Object temp = -111111;         if (front == null) {             System.out.println("bağlı kuyruk boş");             return temp;         } else {             temp = front.element;             front = front.next;             size--;         }         if (front == null) {

Bağlı listede yığıt

Bağlı yığıt bağlı listede tanımladığımız düğüm (node) sınıfını kullanacağız. Yığıta eleman eklemenin mantığını önceki yazımızdan biliyoruz. İlk son giren ilk çıkar. Bu mantıkla kodumuzu verelim. class node {     Object element;     node next;     public node() {     }     public node(Object e, node n) {         element = e;         next = n;     } } class bagliYigit {     node top = null;     int size = 0;             //eleman ekleme     public void push(int data) {         node newnode = new node();         newnode.element = data;         newnode.next = top;         top = newnode;         size++;     }         //eleman silme     public Object push() {         Object temp = -111111;         if (top == null) {             System.out.println("bağlı yığıt boş");         } else {             temp = top.element;             top = top.next;             size--;         }         return temp;     } }

Tek yönlü bağlı liste

Resim
Tek yönlü bağlı liste de bir düğün (node) sınıfımız var ve bu sınıfın içinde tuttuğu bilgiler var. Örnek olarak içinde bir integer sayı tutan bir düğüm olsun, bu düğüm yapısının bir sonraki hedefi gösterdiği bir de işaret referansı(next) vardır. Dizilerden farklı, dizilerde elemanlar sıra ile dizilmişti ama burda elemanlar sıralı değil. Sırasız bu elemanların referanslarını kullanarak birbirlerini göstermesini sağlıyoruz. Öncelikle bahsettiğimiz düğüm yapısını verelim: public class node {     Object element;     node next;         //yapılandırıcılar     public node(){     }      public node(Object e, node n){          element=e;          next=n;     } } Şimdi de eleman ekleme kısmını verelim: public class bagliListe {   Node head = null;   Node tail = null;   public bagliListeEkleme () {     Node x = null;     for (int i = 0; i < 10; i++){        x = new Node();         x.element = new Integer(i);               if (head = = null ) {  

Java' da Kuyruk

Resim
Java' da kuyruk ise yığıttan biraz farklı bir mantık ile çalışıyor. İlk giren ilk çıkar mantığı ile çalışır. Kod kısmında ki "rear" ve "front" kavramları yığıtta ki "top" kavramına denk gelir. Kuyruk ta ön ve arka kavramı vardır o yüzden bu kavramlarla daha anlaşılır halde yazılabilir. public class queue {     private int capacity,counter=0;     private int dizi[];     private int front = 0,rear=-1;             //eleman ekleme methodu     public void push(int data) {         if (front == capacity - 1) {             System.out.println("kuyruk dolu.");         } else {            rear=(rear+1)%capacity;            dizi[rear]=data;            counter++;         }     }     //eleman silme methodu     public int pop() {         int temp = -11111;         if (front == 0) {             System.out.println("kuyruk boş.");         } else {             temp = dizi[front];             front=(front+1)%capacit

Java' da yığıt

Resim
Konuya geçmeden önce yığıt kavramından biraz bahsetmek istiyorum. Yığıt mantığı son girenin ilk çıktığı bir yapıdır. Listemize giren son elemanın ilk çıkmasını istediğimiz durumlarda kullanırız. Şimdi dizilerde yığıtı java kodu ile vermeye çalışacağım. public class stack {     private int maxSize;     private int dizi[];     private int top = 0;     // class ın yapılandırıcısını oluşturduk     public stack(int size) {         maxSize = size;         dizi = new int[maxSize];     }     //eleman ekleme methodu     public void push(int data) {         if (top == maxSize - 1) {             System.out.println("yığıt dolu.");         } else {             top++;             dizi[top] = data;         }     }     //eleman silme methodu     public int pop() {         int temp = -11111;         if (top == 0) {             System.out.println("yığıt boş.");         } else {             temp = dizi[top];             top--;         }