Menu
CoddyTech

size

Bài học 9 trên 14 trong khóa học Danh sách liên kết, loạt bài về cấu trúc dữ liệu #5 của Coddy.

challenge icon

Thử thách

Dễ

Thêm một phương thức size vào lớp LinkedList.

Phương thức này không nhận đầu vào và trả về số nút hiện có trong danh sách (giá trị của count).

Tự làm thử

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

int main() {
    LinkedList ll;
    LinkedList_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 %d\n", ll.head == 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, "addFirst") == 0) {
            char* arg = strtok(NULL, " \t");
            LinkedList_addFirst(&ll, atoi(arg));
        }
        if (strcmp(cmd, "addLast") == 0) {
            char* arg = strtok(NULL, " \t");
            LinkedList_addLast(&ll, atoi(arg));
        }
        if (strcmp(cmd, "get") == 0) {
            char* arg = strtok(NULL, " \t");
            printf("%d\n", LinkedList_get(&ll, atoi(arg)));
        }
        if (strcmp(cmd, "remove") == 0) {
            char* arg = strtok(NULL, " \t");
            LinkedList_remove(&ll, atoi(arg));
        }
        if (strcmp(cmd, "size") == 0) printf("%d\n", LinkedList_size(&ll));
    }
    return 0;
}

Tất cả bài học trong Danh sách liên kết, loạt bài về cấu trúc dữ liệu #5

Tự luyện tập: Trình biên dịch C online