addLast
Pelajaran 6 dari 14 dalam kursus Daftar Berantai Ganda, Seri Struktur Data #6 di Coddy.
Tantangan
MudahTambahkan sebuah method addLast ke class DoublyLinkedList.
Method ini menerima bilangan bulat value dan menyisipkan node baru yang membawa nilai tersebut di akhir list. Pastikan untuk menghubungkan kedua arah tautan (prev pada node baru, next pada tail lama), dan perbarui head 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));
}
if (strcmp(cmd, "addLast") == 0) {
char* arg = strtok(NULL, " \t");
DoublyLinkedList_addLast(&ll, atoi(arg));
}
}
return 0;
}
Semua pelajaran di Daftar Berantai Ganda, Seri Struktur Data #6
Latihan sendiri: Compiler C online