Review Linked List

Review Linked List


Nama saya Raymond Andilsim, jadi hari ini saya akan merangkum apa yang dijelaskan oleh bapak Ferdinand tentang istilah-istilah yang ada di single linked list dan double linked list yaitu "Push" yang artinya kita menginsert data baru ke linked list tersebut, push bisa dari depan, belakang ataupun dari tengah. Dan istilah kedua adalah "Pop" yang berarti mendelete data dari depan, belakang maupun tengah.

Jadi pertama kita ada struct data :

struct Data
{
    int value;
    struct Data *next,*prev;
}*head,*curr,*tail;

Push dan Pop di Single Linked List

Push

void push(int a)
{
    curr = (struct Data*)malloc(sizeof(struct Data));
    curr->value = a;
    
    if(head==NULL){
        head = tail = curr;
    }
    else{
        curr->next = head;
        head = curr;
    }
}

Pop

void pop()
{
    curr = head;
    
    if(curr == tail){
        free(curr);
        head = tail = NULL;
    }
    else if(curr != NULL)
    {
        head = head->next;
        free(curr);
}

Push dan Pop di Double Linked List

Push

void push(int a)
{
    curr = (struct Data*)malloc(sizeof(struct Data));
    curr->value = a;
    
    if(head==NULL){
        head = tail = curr;
    }
    else{
        tail->next = curr;
        curr->prev = tail;
        tail = curr;
    }
    head->prev = tail->next = NULL;
}

Pop

void pop()
{
    curr = head;
    
    if(tail == head){
        free(curr);
        tail = head = curr = NULL;
    }
    else
    {
        while(curr->next!=tail){
            curr = curr->next;
        }
        free(tail);
        tail = curr;
        tail->next = NULL;
    }
}


Sekian rangkuman saya untuk materi ini, dan dikarenakan saya belum paham sepenuhnya, mohon maaf jika ada kesalahan.


Raymond Andilsim
2301906533






Comments

Popular posts from this blog

Semester 2 Review / Summary

AVL Tree

Application Code