Veri yapıları dersinde görmüş olduğum bağlı liste, kuyruk, yığın, ağaç veriyapılarının kodlarını 6 ay önce, 1.dönemde yazmıştım. Bu kodların github'ımda kalmasının daha iyi olacağını düşündüm.
//-----------------------------------------------------------------
// [tek yonlu bagli liste içerisinden örnek kodlar]
void basaEkle(dugum** baslangicDugum, int alinanVeri) {
dugum* yeniDugum = olustur(alinanVeri);
yeniDugum->adres = *baslangicDugum;
*baslangicDugum = yeniDugum;
}
void sonaEkle(dugum* sonDugum, int alinanVeri) {
dugum* yeniDugum = olustur(alinanVeri);
while (sonDugum->adres != NULL) {
sonDugum = sonDugum->adres;
}
sonDugum->adres = yeniDugum;
}
void Ekle(dugum* alinanDugum, int alinanVeri) {
dugum* yeniDugum = olustur(alinanVeri);
yeniDugum->adres = alinanDugum->adres;
alinanDugum->adres = yeniDugum;
}
//-----------------------------------------------------------------
// [Queue dosyası içerisinden örnek kodlar]
// kuyruk olusturma fonskiyonu
struct Queue* createQueue(int _capacity) {
struct Queue* yeni = (struct Queue*)malloc(sizeof(struct Queue));
if (yeni) {
yeni->capacity = _capacity;
yeni->rear = _capacity - 1;
yeni->front = 0;
yeni->size = 0;
yeni->array = (int*)malloc(sizeof(int) * _capacity);
}
return yeni;
}
// kuyruk dolu mu kontrolu
int isFull(struct Queue* yeni) {
return (yeni->size == yeni->capacity);
}
// kuyruk bos mu kontrolu
int isEmpty(struct Queue* yeni) {
return (yeni->size == 0);
}
void Enqueue(struct Queue* yeni, int x) /* sondan eleman ekleme */
{
if (isFull(yeni))
return;
yeni->rear = (yeni->rear + 1) % yeni->capacity; // cevrimsel
yeni->array[yeni->rear] = x;//veri atama
yeni->size = yeni->size + 1;
}
| Hafta | Derste İşlenenler |
|---|---|
| 1.hafta | veri Yapılarına giriş dersi |
| 2.hafta | tek yönlü bağlı liste |
| 3.hafta | çevrimsel tek yönlü bağlı liste |
| 4.hafta | çift yönlü bağlı liste |
| 5.hafta | çevrimsel çift yönlü bağlı liste |
| 6.Hafta | yığın |
| 7.Hafta | kuyruk |
| 8.hafta | vize |
| 9.Hafta | kuyruk devam (postfix prefix) |
| 10.Hafta | ağaç |
| 11.Hafta | ikili ağaç |
| 12.Hafta | ağaç sıralama |
| 13.Hafta | graph giriş |
| 14.Hafta | final |