コード例 #1
0
        public void altkume(circularqueue <int> queue1, circularqueue <int> queue2) // 3. sorunun cevabı
        {
            circularqueue <int> yedek1 = new circularqueue <int>(queue1.size());
            circularqueue <int> yedek2 = new circularqueue <int>(queue2.size());

            int sayac  = 0;
            int sayac2 = 0;

            while (!queue1.isEmpty())                        //queue1 boşalana kadar dönücek
            {
                int deger = queue1.deQueue();                // yedekleme yapıldı ve deger alındı
                yedek1.enQueue(deger);
                while (!queue2.isEmpty())                    // queue2 boşalana kadar dönücek
                {
                    int deger2 = queue2.deQueue();           //queue2 boşalırken deger ile deger2 yi karşılaştırcaz
                    yedek2.enQueue(deger2);

                    if (deger == deger2)
                    {
                        sayac++;                                    // aynı değer var ise sayaç 1 artıcak
                    }
                }
                while (!yedek2.isEmpty())                           // biraz önce queue2 boşalmıştı bunu dolduralım ki 2. değeri kıyaslayabilelim.
                {
                    queue2.enQueue(yedek2.deQueue());               // eğer bunu doldurmaz isek bir degere bakar gerisini kontrol etmez
                }

                sayac2++;
            }



            if (sayac == sayac2)                                    //sayac ın degeri sayac2 ile eşitlenirse bu alt küme olduğunu gösterir
            {
                Console.WriteLine(" Alt kümesidir");
            }
            else
            {
                Console.WriteLine("DEĞİL");
            }
        }
コード例 #2
0
        static void Main(string[] args)
        {
            operation <bool> opr  = new operation <bool>();
            operation <int>  opr2 = new operation <int>();

            //1.SORU TEST (BU SORUDA ÇIKAN DEĞER YERİNE TRUE DÖNDÜRÜYOR . ŞU AN 6 DEĞERİNİ ÇIKARDIK ALTI ÇIKTI VE TRUE YAZDI ONUN YERİNE)
            Console.WriteLine("/////1.SORU CEVAP YERİ/////");
            Stack <int> st = new Stack <int>(7);

            Console.WriteLine("stack değerleriniz.");
            st.Push(8);
            st.Push(7);
            st.Push(6);
            st.display();
            Console.WriteLine("Sayı çıktıktan sonraki değerleriniz.");
            Console.WriteLine(opr.aktar(st, 6));
            st.display();


            Console.WriteLine("////2. SORU CEVAP YERİ///////");

            //2.SORU TEST
            Stack <int> stk3 = new Stack <int>(10);
            Stack <int> stk4 = new Stack <int>(10);


            stk3.Push(6);
            stk3.Push(4);
            stk3.Push(5);

            stk4.Push(2);
            stk4.Push(3);
            stk4.Push(1);
            Console.WriteLine("1.stack");
            stk3.display();
            Console.WriteLine("2.stack");
            stk4.display();
            Console.WriteLine("sıralanmış hali");
            opr2.sirala(stk3, stk4);



            //3.SORU TEST
            Console.WriteLine("/////3.SORU CEVAP YERİ/////");
            circularqueue <int> myqueue  = new circularqueue <int>(10);
            circularqueue <int> myqueue2 = new circularqueue <int>(10);

            myqueue.enQueue(9);
            myqueue.enQueue(5);
            myqueue.enQueue(4);
            myqueue.enQueue(7);


            myqueue2.enQueue(5);
            myqueue2.enQueue(9);
            myqueue2.enQueue(4);
            myqueue2.enQueue(7);
            myqueue2.enQueue(8);
            myqueue2.enQueue(11);


            opr2.altkume(myqueue, myqueue2);
        }