Menu
CoddyTech

addFirst

Pelajaran 5 dari 14 dalam kursus Daftar Berantai Ganda, Seri Struktur Data #6 di Coddy.

challenge icon

Tantangan

Mudah

Tambahkan method addFirst ke class DoublyLinkedList.

Method ini menerima bilangan bulat value dan menyisipkan node baru yang membawa nilai tersebut di bagian depan list. Pastikan untuk menghubungkan kedua arah tautan (prev pada head lama, next pada node baru), dan perbarui tail jika list kosong.

Coba sendiri

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "doublylinkedlist.h"

int main() {
    DoublyLinkedList ll;
    DoublyLinkedList_init(&ll);
    char line[256];
    while (fgets(line, sizeof(line), stdin)) {
        line[strcspn(line, "\r\n")] = '\0';
        char* cmd = strtok(line, " \t");
        if (!cmd) continue;
        if (strcmp(cmd, "state") == 0) printf("%s %s %d\n", ll.head == NULL ? "true" : "false", ll.tail == NULL ? "true" : "false", ll.count);
        if (strcmp(cmd, "count") == 0) printf("%d\n", ll.count);
        if (strcmp(cmd, "headValue") == 0) printf("%d\n", Node_getValue(ll.head));
        if (strcmp(cmd, "tailValue") == 0) printf("%d\n", Node_getValue(ll.tail));
        if (strcmp(cmd, "addFirst") == 0) {
            char* arg = strtok(NULL, " \t");
            DoublyLinkedList_addFirst(&ll, atoi(arg));
        }
    }
    return 0;
}

Semua pelajaran di Daftar Berantai Ganda, Seri Struktur Data #6

Latihan sendiri: Compiler C online