BAĞLI LİSTEDE (LİNKED LİST) TÜM İŞLEMLER

Veriyapılarının Önemli konularından birisi olan Bağlı liste (linked list) üzerinde tüm işlemlerin gerçeklendiği bu makalemde bağlı listeye eleman ekleme eleman silme,eleman arama ve listenin herhangi bir yerine eleman eklemeyi göreceksiniz.

İŞTE EKLEME NİN MANTIĞI AŞAĞIDAKİ SİMULASYONDADIR.

SİLME MANTIĞI AŞAĞIDAKİ ANİMASYONDA GÖSTERİLMİŞTİR

Önceki hal Silinmemiş hal:

Son hali yani silinmiş hali:

#include<iostream>
using namespace std;

class dugum {
public:
dugum(){data=0,next=NULL;}

int data;
dugum *next;
};

class bagliste{
public:
bagliste();
void insertion(int);
void anywhere(int,int);
void deletion(int);
void yaz();
private:
int counter;
dugum *head;
};

bagliste::bagliste()
{
counter=0;
head=NULL;
}

void bagliste::insertion(int a)
{
dugum* pnew=new dugum;
pnew->data=a;
pnew->next=NULL;
dugum *tmp=head;

if(head==NULL)
head=pnew;
else
{
while(tmp->next!=NULL)
tmp=tmp->next;

tmp->next=pnew;
}
counter++;

}

void bagliste::anywhere(int i,int a)
{
dugum* pnew=new dugum;
pnew->data=a;
pnew->next=NULL;

dugum *p1=head;
dugum *p2;

for(int j=1;j<=i;j++){
p2=p1;
p1=p1->next;
}
pnew->next=p2->next;
p2->next=pnew;
counter++;

}

void bagliste::deletion(int k)
{
dugum *p1=head;
dugum *p2;

while(p1->data!=k&&p1->next!=NULL){
p2=p1;
p1=p1->next;

}
if(p1->data==k){
p2->next=p1->next;
delete p1;
counter–;
}
else
cout<<k<<” zaten listede yok\n”;
}

void bagliste::yaz()
{
dugum* p1=head;
while(p1!=NULL){
cout<<p1->data<<”  “;
p1=p1->next;

}
cout<<endl;

}

main()
{
bagliste B;
for(int i=0;i<20;i++)
B.insertion(i);
B.yaz();
B.anywhere(20,123);
B.yaz();
B.deletion(43);
B.yaz();
system (“pause”);
}

 

Oracle Exadata SQL Server Goldengate Weblogic EBS ve Linux konusunda aşağıdaki konularda 7×24 Uzman Danışmanlara yada Eğitimlere mi
İhtiyacınız var [email protected] adresine mail atarak Bizimle iletişime geçebilirsiniz.

– Oracle Veritabanı Danışmanlığı
– Oracle Veritabanı Bakım ve Destek
– Exadata Danışmanlığı
– Exadata Bakım ve Destek
– SQL Server Veritabanı Danışmanlığı
– SQL Server Veritabanı Bakım ve Destek
– Goldengate Danışmanlığı
– Goldengate Bakım ve Destek
– Linux Danışmanlığı
– Linux Bakım ve Destek
– Oracle EBS Danışmanlığı
– Oracle EBS Bakım ve Destek
– Weblogic Danışmanlığı
– Weblogic Bakım ve Destek
– Oracle Veritabanı Eğitimleri
– Oracle VM Server Danışmanlığı
– Oracle VM Server Bakım ve Destek
– Oracle EPPM Danışmanlığı
– Oracle EPPM Bakım ve Destek
– Oracle Primavera Danışmanlığı
– Oracle Primavera Bakım ve Destek
– Oracle Eğitimleri
– SQL Server Eğitimleri
– Goldengate Eğitimleri
– Exadata Eğitimleri
– Linux Eğitimleri
– Oracle EBS Eğitimleri
– Oracle VM Server Eğitimleri
– Weblogic Eğitimleri
– Oracle EPPM Eğitimleri
– Oracle Primavera Eğitimleri

About Mehmet Salih Deveci

I am Founder of SysDBASoft IT and IT Tutorial and Certified Expert about Oracle & SQL Server database, Goldengate, Exadata Machine, Oracle Database Appliance administrator with 10+years experience.I have OCA, OCP, OCE RAC Expert Certificates I have worked 100+ Banking, Insurance, Finance, Telco and etc. clients as a Consultant, Insource or Outsource.I have done 200+ Operations in this clients such as Exadata Installation & PoC & Migration & Upgrade, Oracle & SQL Server Database Upgrade, Oracle RAC Installation, SQL Server AlwaysOn Installation, Database Migration, Disaster Recovery, Backup Restore, Performance Tuning, Periodic Healthchecks.I have done 2000+ Table replication with Goldengate or SQL Server Replication tool for DWH Databases in many clients.If you need Oracle DBA, SQL Server DBA, APPS DBA,  Exadata, Goldengate, EBS Consultancy and Training you can send my email adress [email protected].-                                                                                                                                                                                                                                                 -Oracle DBA, SQL Server DBA, APPS DBA,  Exadata, Goldengate, EBS ve linux Danışmanlık ve Eğitim için  [email protected] a mail atabilirsiniz.

9 comments

  1. c de yazabilirmisin?

  2. C den Farkımı var bu kodun?? Class yapısının yerine Struct tanımla cout yerine de printf yazarsan olur sana C kodu…!!!

  3. elamanları bağlantılı listede sıralı tutulan bir kümenin sıralı olma özelliğini bozmadan,bu kümeye elaman ekleyen bir c programı yaz
    soru
    bu lütfen bu msn adresine cvp atın

    • BİLGİSAYAR MÜHENDİSİ

      cevabı zaten yorum yazdığınız yazı da mevcuttur bunu DevC++ derleyicisiyle koşturduğunuzda görebilirsiniz…

  4. iyi günler ben bilgisayar mühendisliğinde okuyorum bi ödevim var ama yapamadm yardımcı olursanız çok sevinirim. ödevim şu: basamak sayısı çok büyük olan ve klavyeden girilecek 2 sayı için toplama işlemi yapabilen bir C programı yazmanız istenmektedir. program önce 1. sayıyı sonra 2. sayıyı almalı,sonra bu iki sayının toplamını ekranda göstermelidir.programda basamak sayısı istenildiği kadar büyük olabilmelidir.bu özelliği desteklemek için her sayıyı tek ya da iki yönlü bağlı listede saklayıp işlemleri uygun halde gerçekleştirmenz gerekmektedir.sayıları alırken kesinlikle basamak sayısı sorulmamalı ve her iki sayınında basamak sayısı farklı olmalıdır. bu ödevimi 8 temmuza kadar yapmak zorundayım. yardımlarınız için şimdiden çokk tşkler

  5. pardon 8 temmuz değil 8 ağustos olacaktı…

    • BİLGİSAYAR MÜHENDİSİ

      Ada, Yazıda verilen kodda herhangi bir elemanın listeye eklenmesi gösterilmiştir.Bu şekilde istediğin değerleri istediğin formatta bu koda bir iki değişiklik yaparak elde edebilirsin…!!!

  6. peki listenin ilk elemanı silmek için ne eklemeliyiz?

  7. c# da ta yazabilirmisin

Leave a Reply

Your email address will not be published. Required fields are marked *