Single Linked List examples

Berikut adalah contoh program Single Linked dengan satu simpul :
--------------------------------------------------------------------------------------
#include <iostream>
#include <string>
#include <cstdlib>

using namespace std;

struct simpulNegara
{
    string nama;
    simpulNegara* berikut;
};

simpulNegara* buatSimpul(string negara)
{
    simpulNegara* pnegara;
   
    pnegara = new (simpulNegara);
    if (pnegara == NULL)
    {
        cout << "Pengalokasian " << negara
             << "gagal dilaksanakan." << endl;
       
        exit(1); //akhir program
    }
   
    //Isi simpul
    pnegara->nama = negara;
    pnegara->berikut = NULL;
   
    return pnegara;
}

int main()
{
    simpulNegara* pertama;
   
    pertama = buatSimpul("Swedia");
    cout << "Field nama : " << pertama->nama << endl;
    cout << "Isi berikut ";
   
    if (pertama->berikut == NULL)
       cout << "NULL" << endl;
    else
        cout << "TIDAK NULL" << endl;
   
    //Bebaskan memori untuk variabel dinamis
    delete pertama;
   
    return 0;
}
-------------------------------------------------------------------------------------------------------------------
Berikut adalah contoh program Single Linked dengan tiga simpul :
-------------------------------------------------------------------------------------------------------------------
#include <iostream>
#include <string>
#include <cstdlib>

using namespace std;

struct simpulNegara
{
    string nama;
    simpulNegara* berikut;
};

simpulNegara* buatSimpul(string negara)
{
    simpulNegara* pnegara;

    pnegara = new (simpulNegara);
    if (pnegara == NULL)
    {
        cout << "Pengalokasian " << negara
             << "gagal dilaksanakan." << endl;

        exit(1); //akhir program
    }

    //Isi simpul
    pnegara->nama = negara;
    pnegara->berikut = NULL;

    return pnegara;
}

int main()
{
    simpulNegara* ptrBaru;
    simpulNegara* pertama;

    //Buat tiga variabel dinamis
    pertama = buatSimpul("Swedia");

    ptrBaru = buatSimpul("Jepang");
    ptrBaru->berikut = pertama;
    pertama = ptrBaru;

    ptrBaru = buatSimpul("India");
    ptrBaru->berikut = pertama;
    pertama = ptrBaru;

    //Tampilkan isi senarai berantai
    simpulNegara* ptr = pertama;
    while (ptr != NULL)
    {
        cout << ptr->nama << endl;
        ptr = ptr->berikut;
    }

    //Bebaskan memori
    while (pertama != NULL)
    {
        ptr = pertama;
        pertama = pertama->berikut;

        cout << "Akan membebaskan memori untuk "
             << ptr->nama << endl;

        delete ptr;
    }

    return 0;
}


Silahkan dicoding ulang .. :)

Popular posts from this blog

Introduction to Use Case Diagram - Case study: Facebook

Sequential Search

Review Buku Knowledge Management Creating Value Nonaka-1995