Solved node type problem, now the node gets it from the list. Added a first node to the list, added a test node to this field in LList init

Added init for Node
main
2wenty1ne 2024-11-06 16:07:42 +01:00
parent 1927f3ab65
commit 72ff38beb9
1 changed files with 21 additions and 12 deletions

View File

@ -3,12 +3,15 @@ const std = @import("std");
pub fn LLIst (comptime T: type) type {
return struct {
const Self = @This();
first: *Node(T),
//TODO Liste mit allen Nodes erstellen
// nur um den compiler zufrieden zu stellen 😡
const _: T = undefined;
pub fn init() void {
//TODO
pub fn init(this: *Self) !void {
//TODO Heap mit allocater nutzen
var node: Node(T) = undefined;
node.init(69);
try node.printNode();
this.first = &node;
}
pub fn deinit() void {
@ -17,20 +20,26 @@ pub fn LLIst (comptime T: type) type {
};
}
pub fn Node () type {
pub fn Node (comptime T: type) type {
return struct {
comptime T: type = undefined,
const Self = @This();
next: *Self, //? Nächste Node in der Liste
const next: *Self = undefined;
//var value: T = undefined;
position: i64, //? Position der Node in der List, später übergeben mit zB List.len
value: T,
pub fn init(this: *Self, comptime T: type) void {
this.T = T;
pub fn init(this: *Self, value: T) void {
this.value = value;
}
pub fn printNode(this: *Self) !void {
const writer = std.io.getStdOut().writer();
try writer.print("Value: {any} \n", .{this.value});
}
};
}
pub fn main() !void {
var testList: LLIst(u64) = undefined;
try testList.init();
}