Kategori: C

C dili ile kodlamayı ögrenin

Pazar Kasım 10th, 2019

Bubble Sort

Merhabalar, daha önceki yazılarımda Selection ve Insertion Sort algoritmaları yazmıştım bu yazımda ise Bubble Sort algoritmasını yazmaya çalışacağım. Bubble Sort’un çalışma mantığı dizi içerisindeki en büyük elemanı bulup bütün elemanlarla karşılaştırarak en sona koyuyor ve daha sonra bu işlemi array sıralanana kadar devam ettiriyor.  Örnek vermek gerekirse şöyle bir array’imiz olduğunu düşünün array = [3,1,6,5,7,8,2,4] bu array’in sıralanması için şöyle bir yol izliyor: 3,1,6,5,7,8,2,4 -> karşılaştırılıyor eğer büyük […]

Perşembe Kasım 7th, 2019

Insertion Sort Algoritması

Merhabalar, bir önceki  yazımda Selection Sort(seçerek sıralama)’dan bahsetmiştim bu yazımda ise Insertion Sort algoritmasını kullanarak sıralama yapmaya çalışacağım. Insertion Sort algoritmasının çalışma mantığı array içerisinde bulunan ilk elemanı atlıyoruz yani en küçük olduğunu varsayıyoruz ve onun sağındaki elemanları da sıralı olduğunu düşünüyoruz ve kontrolünü yapıyoruz. Insertion Sort algoritmasının en iyi durumda ki karışıklığı n olurken en kötü durumda n2 ‘dir. Yaptığım örnek program üzerinden anlatmak gerekirse, varsayalım […]

Perşembe Kasım 7th, 2019

Seçerek Sıralama (Selection Sort)

Merhabalar, Seçerek sıralama algoritması ile array içerisinde küçükten büyüğe veya büyükten küçüğe sıralama yapabilirsiniz. Algoritmanın çalışma mantığı, Array içerisinde bulunan ilk elemana minimum diyoruz ve daha sonra array içerisinde for döngüsünü kullanarak eğer seçtiğimiz sayıdan küçük bir sayı varsa bu sefer onu minimum değişkenimize atıyoruz. Algoritma gayet basit. Algoritmaların karmaşıklığına göre sıralamaları oluyor, Seçerek sıralamanın karmaşıklığını n2 ile hesaplıyoruz. Bu algoritmayı örnek olması açısından hem C […]

Pazar Kasım 3rd, 2019

Stack

Merhabalar, Stack bir Abstract Data Type(ADT) yani Soyut Veri Tipindedir. Stack’lerde Son giren ilk çıkar(Last in First Out) veya ilk giren son çıkar(First in Last Out) şeklinde tanımlanır. Stackleri arraylerle veya linked list’lerle beraber kullanabiliriz. Ben bu örneğimde arrayler ile birlikte kullanacağım. Stack’in sahip olduğu 3 adet fonksiyonu ve geri döndüren özelliği vardır diyebiliriz. Bunlar; Push : Stack’e eleman eklememizi sağlar. Pop : Stack’den eleman […]

Pazartesi Ekim 28th, 2019

Bağlı Liste(Linked List)

Merhaba, Bağlı liste her elemanın ayrı bir nesne olarak tutan dogrusal bir veri yapısıdır. Array’ler static yapıdayken, Bağlı listeler dynamic yapıdadır. Arraylere yeni bir veri eklerken zorluk çekebiliriz ama bağlı liste kullanırsak istediğimiz yere istediğimiz veriyi ekleyebiliriz. Bağlı listelerde eleman sayısı kesin değildir, istediğimiz şekilde bağlı listeye eleman ekleyebilir veya çıkartabiliriz. Bağlı listede elemanın bulunduğu yere node(düğüm) diyoruz.Eğer en son Node’da isek onun next’i NULL’ı […]

Cumartesi Mart 10th, 2018

C – Yapılar – Fonksiyonlar – Arrayler

C dilinde yapıları tanımlarken array leri kullanabildigimizi daha önce yazımızda bahsetmiştim. Önceki yazı için buraya tıklayabilirsiniz. Yapıları tanımladıktan sonra yapıları bir fonksiyon ile de yapıların içini doldurabiliyoruz. Bugun yapıları ilgili fonksiyon ve arrayleri kullanarak program yapacağım. İlk program bir önceki yazımızda yapmış olduğumuz gibi  öğrencinin bilgilerini isteyeceğim ama bu sefer arrayleri kullanarak sadece bir değilde daha fazla öğrencinin bilgilerini isteyebileceğim. Kod Dizimi; #include<stdio.h> struct ogrenci{ […]

Çarşamba Mart 7th, 2018

C- Yapılar

C dilinde bir yapı belirterek daha  daha sonra main fonksiyonu içerisinde kullanıcıdan veya kendiniz bu yapının içini doldurabilirsiniz. Yapılar çok kullanışlıdır sürekli aynı şeyleri yazmak yerine bir yapı oluşturup işlemlerinizi daha kolay yapabiliyorsunuz. Yapıları fonksiyon ile beraberde kullanabiliyorsunuz bir sonraki yazımda beraber kullanımıyla ilgili programlar yapacağım. Şimdi bir yapı oluşturacağım ve bu yapı öğrenci yapısı olacak. Öğrencini ismini, soy ismini, okul numarasını ve yaşını içerecek […]

Çarşamba Şubat 28th, 2018

C – Pointer Ve Arrayler

Daha önceki yazılarımızda sayıların ve yahutta karakterlerin pointer olarak tanımlandığını gördük , peki arrayler (diziler) pointer olarak tanımlanabilir mi? Evet . Şimdi rastgele bir dizi tanımlasanız ve dizinin içine elemanlar yerleştirseniz bu dizinin elemanlarınız bilgisayarda yer tutması gerekiyor  . Bu durumlarda arrayin içindeki elemanların yerlerini bulmak için yine pointerları kullanacağım. İlk basit bir program yapacağım. Bir array tanımlayacağım ve sonrasında arrayin içine elemanlar yerleştireceğim daha […]

Çarşamba Şubat 28th, 2018

C – Pointer Call By Value Ve Call By Reference

Pointerlar da fonksiyonları kullanarak ekrana değerler bastırabiliriz. Bunu iki farklı şekilde yapabiliriz . Bunlardan birincisi Call By Value . Call By Value’ yu kullanarak normal main fonksiyonu içerisine yazdığımız şeyleri başka bir fonksiyon oluşturup o fonksiyonla değeri ekrana bastırabiliyoruz . Bu Call By Value oluyor. Call By Reference ise pointerları kullanarak gerçekleştiryoruz yani gene main fonksiyon içerisinde yazdığınız şeyleri başka tanımlanmış olan fonksiyon içerisinde pointerları […]

Çarşamba Şubat 21st, 2018

C – Pointer

Pointerlar bir degişkenin veya tanımladığınız bir şeyin tuttuğu adresi gösterir. Örnek vermek gerekirse mesela diyelim a =5 dediniz a nın bu programlama içerisinde bir yeri , adresi olması lazım bu pointer olarak tanımlanıyor , o adresi girdiğiniz zamanda tanımlamış olduğunuz a ‘ nın değeri ekrana basılıcaktır. a’nın pointeri yani adresini görebilmek için * işaretini ve p harfini kullanırız yani a nın adresini görmek için a […]