addFirst
Pelajaran 5 dari 14 dalam kursus Daftar Berantai Ganda, Seri Struktur Data #6 di Coddy.
Tantangan
MudahTambahkan 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