struct, free falan dediğine göre C'den bahsediyorsun galiba? 1 milyar kayıt tabii ki belleğe alınmaz, fakat belli bir büyüklüğe kadarsa dosyanın tamamı okunabilir. Çünkü C'de dosya işlemleri ilkeldir, insert/delete/update yok, elinde fread(), fwrite(), fseek() var sadece. Bunları kullanarak, mesela 100 satırlı bir dosyada 42. satırı nasıl silersin? veya 42 ile 43. satır arasına nasıl yeni satır eklersin? imkansız değil... Ben öğrenciyken böyle GB bellekli biligsayarlar yoktu, bu ödevi dosyanın tamamını belleğe alıp yapsam hoca sıfır verirdi muhtemelen, ama şimdi koşullar farklı. Bunlar file structures konusudur, mesela ISAM, InnoDB... veritabanları bunun üzerine inşa edilir.
< Bu mesaj bu kişi tarafından değiştirildi seyfi84 -- 25 Aralık 2022; 11:45:6 >
Okulda bir ödev verdiler de kafama yatmayan bir kısım oldu. Basit bir CSV yapısı var. Üç değişken barındırıyor ve basit şekilde CRUD işlemleri yapmamız lazım fakat dosyadaki tüm verileri bir linked list'e aktarıp öyle işlem yapmamız ve sonrasında da o linked list'i tekrardan dosyaya yazmamız istenmiş. Bana çok saçma geldi. 1 milyar satır varsa hepsini neden memory aktaralım? Linked list kullanımı böyle mi oluyor yoksa ödev pratiği olarak öğrenmemiz için mi böyle?
Ben şöyle düşünmüştüm: struct yapısı oluşturup satır satır okuma yapıp struct'a aktarıp istediğimiz değerse işlem yaparız değilse free edip sonraki satıra bakarız. Gerçi böyle de linked list aradan çıkmış oluyor.
1 milyar kayıt tabii ki belleğe alınmaz, fakat belli bir büyüklüğe kadarsa dosyanın tamamı okunabilir. Çünkü C'de dosya işlemleri ilkeldir, insert/delete/update yok, elinde fread(), fwrite(), fseek() var sadece. Bunları kullanarak, mesela 100 satırlı bir dosyada 42. satırı nasıl silersin? veya 42 ile 43. satır arasına nasıl yeni satır eklersin? imkansız değil... Ben öğrenciyken böyle GB bellekli biligsayarlar yoktu, bu ödevi dosyanın tamamını belleğe alıp yapsam hoca sıfır verirdi muhtemelen, ama şimdi koşullar farklı.
Bunlar file structures konusudur, mesela ISAM, InnoDB... veritabanları bunun üzerine inşa edilir.
< Bu mesaj bu kişi tarafından değiştirildi seyfi84 -- 25 Aralık 2022; 11:45:6 >
< Bu ileti mobil sürüm kullanılarak atıldı > Bu mesaja 1 cevap geldi. Cevapları Gizle