Node Class
Coddyの「双方向連結リスト - データ構造シリーズ #6」コースのレッスン 3/14。
チャレンジ
簡単以下の内容を持つ Node クラスを作成してください:
- 整数
valueを受け取るコンストラクタ。これをクラスのフィールドとして保存し、prevとnextの両方をnull(または使用する言語における同等の値)で初期化します。 - 引数を受け取らず、保存されている
valueを返すgetValueメソッド。
自分で試してみよう
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "node.h"
int main() {
Node* node = NULL;
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, "create") == 0) {
char* arg = strtok(NULL, " \t");
if (arg) node = Node_new(atoi(arg));
}
if (strcmp(cmd, "getValue") == 0) {
printf("%d\n", Node_getValue(node));
}
if (strcmp(cmd, "nextIsNull") == 0) {
printf("%s\n", node->next == NULL ? "true" : "false");
}
if (strcmp(cmd, "prevIsNull") == 0) {
printf("%s\n", node->prev == NULL ? "true" : "false");
}
}
return 0;
}