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"); } }
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); }