Singly-linked list/Element insertion: Difference between revisions
Content added Content deleted
Line 1,131: | Line 1,131: | ||
# append new nodes ('A2a', 'A2b') after the second element (which now is 'A2') |
# append new nodes ('A2a', 'A2b') after the second element (which now is 'A2') |
||
insert_after $list2->{next}, { data => 'A2a' }, { data => 'A2b' };</lang> |
insert_after $list2->{next}, { data => 'A2a' }, { data => 'A2b' };</lang> |
||
=={{header|Perl 6}}== |
|||
my @list = <a b>; |
|||
{{broken|Perl 6}} |
|||
say @list.splice(1,0,'c'); |
|||
<lang perl6>my $letters = 'A' => 'C' => Mu; |
|||
say @list; |
|||
sub insert-after($list, $after, $new) { |
|||
loop (my $l = $list; $l; $l = $l.value) { |
|||
if $l.key eqv $after { |
|||
$l.value = $new => $l.value; |
|||
return; |
|||
} |
|||
} |
|||
die "Element $after not found"; |
|||
} |
|||
$letters.&insert-after('A', 'B');</lang> |
|||
=={{header|Phix}}== |
=={{header|Phix}}== |