Java Stack ile Örnek Çalışmalar-1

Bu derste Java'da stack sınıfını örnekler aracılığıyla anlamaya çalışalım.

Bu derste Java'da stack sınıfını örnekler aracılığıyla anlamaya çalışalım.

Soru: Düğüm yapısını kullanan bir S yığıtını, değeri 12260035’tan küçük olan düğümleri küçük yığıtına, büyük olanları büyük yığıtına taşıyan bir metod yazınız.

Cevap:


public class Stackb {

    public Node top = null;

    public int size = 0;

    

    public void push(Node newNode){

        newNode.link = top;

        top = newNode;

        size++;

    }

    public Node pop(){

        Node temp = null;

        if(top == null){

            System.out.println("Yığıt Boş");

        }

        else{

            temp = top;

            top = top.link;

        }

        size--;

        return temp;

    }

    public Node peek(){

        if(top == null){

            System.out.println("Yığıt Boş");

            return top;

        }

        else

            return top;

    }



public class FinalExamEx {



    

    public static void main(String[] args) {

        Stackb s = new Stackb(); // öğrenci listemiz

        Stackb kücük = new Stackb(); //12260035 den küçük numaralı öğrencilerin tutulacağı liste

        Stackb büyük = new Stackb(); //12260035 den büyük numaralı öğrencilerin tutulacağı liste

        s.push(new Node(12260033, "Ziya", "Özçelik"));//öğrenci listemize öğrenci ekliyoruz

        s.push(new Node(12260045, "Barış", "Gül"));

        s.push(new Node(12260020, "Ozan", "Kara"));

        s.push(new Node(12260082, "Semih", "Tekin"));

        

        while(s.top != null){ //öğrenci listemizin son baştaki elemanı null olana kadar döngü devam eder

            Node temp = s.pop(); //öğrenci listemizin ilk elemanını alıp boş bir düğüme atıyoruz

            if(temp.no < 12260035){ // öğrencinin numarası 12260035 den küçükse küçük listesine

                kücük.push(temp);

            }

            else                    // eğer büyükse büyük listesine ekliyoruz

                büyük.push(temp);

        }

    }

    

}

  • Etiketler;
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

Yukarı Git