Friday, March 7, 2014

Linked List Implementation I

Linked list ada 3 jenis :
> Single LL 
    ----> <----

>Double LL
  ---->
 <----

>Multiple LL
*panahnya kesegala arah






selain itu ada jenis lain..
> Circular single Lingked list                                                       











>double















ex:
struct Mahasiswa *curr;
*cur =(struct Mahasiswa *)malloc(sizeof(struct carts));
strcpy(curr->nama,nama)
curr->next = head
head=char

malloc disini fungsinya untuk mengembalikan data void bintang
sedangkan struct disiini agar dapat sesuai dengan isi struct.

Single LL
- Push Depan
- Push Tengah
- Push Belakang

Push depan
head = curr = tail = null

if(head == null){
  head = tail = curr;
  tail -> next = null;
}else{
  curr->next = head;
  head = curr;
}

*note : pada saat pertama bikin, current selalu ada di data baru
buat kodingan head selalu di depan dan tail selalu dibelakangan.

Push belakang
h = t = c =null

if(head == null)[
  head = tail = curr;
}else{
  tail -> next = curr;
  tail = curr;
{ tail-> next = null;
  tail = curr;
}
 tail-> next = null;



ada juga pop.. digunakan untuk menghapus atau delete

pop depan
 if(head == tail){
        head = tail = NULL;
        free(curr);
    }else{
        //2
        head = head->next;
        //3
        free(curr);
    }
    

Pop belakang
 if(head == tail){
        head = tail = NULL;
        free(curr);
    }else{
        //2
        while(curr->next != tail){
            curr=curr->next;
        }
        //3
        tail = curr;
        //4
        free(curr->next);
        //5
        tail->next = NULL;
    }


sumber
http://strukturdata-asb.blogspot.com/

www.binus.edu
SkyConnectiva
Angela Ekarizky Aprilla Nugraheni

hope you enjoy :)

No comments:

Post a Comment