Data update
This commit is contained in:
parent
5150844a7d
commit
4bb20c9b71
7735 changed files with 38060 additions and 199180 deletions
|
|
@ -1,8 +0,0 @@
|
|||
$list = New-Object -TypeName 'Collections.Generic.LinkedList[PSCustomObject]'
|
||||
|
||||
for($i=1; $i -lt 10; $i++)
|
||||
{
|
||||
$list.AddLast([PSCustomObject]@{ID=$i; X=100+$i;Y=200+$i}) | Out-Null
|
||||
}
|
||||
|
||||
$list
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
$list.AddFirst([PSCustomObject]@{ID=123; X=123;Y=123}) | Out-Null
|
||||
|
||||
$list
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
$current = $list.First
|
||||
|
||||
while(-not ($current -eq $null))
|
||||
{
|
||||
If($current.Value.X -eq 105)
|
||||
{
|
||||
$list.AddAfter($current, [PSCustomObject]@{ID=345;X=345;Y=345}) | Out-Null
|
||||
break
|
||||
}
|
||||
|
||||
$current = $current.Next
|
||||
}
|
||||
|
||||
$list
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
$list.AddLast([PSCustomObject]@{ID=789; X=789;Y=789}) | Out-Null
|
||||
|
||||
$list
|
||||
|
|
@ -4,29 +4,29 @@ role DLElem[::T] {
|
|||
has T $.payload = T;
|
||||
|
||||
method pre-insert(T $payload) {
|
||||
die "Can't insert before beginning" unless $!prev;
|
||||
my $elem = ::?CLASS.new(:$payload);
|
||||
$!prev.next = $elem;
|
||||
$elem.prev = $!prev;
|
||||
$elem.next = self;
|
||||
$!prev = $elem;
|
||||
$elem;
|
||||
die "Can't insert before beginning" unless $!prev;
|
||||
my $elem = ::?CLASS.new(:$payload);
|
||||
$!prev.next = $elem;
|
||||
$elem.prev = $!prev;
|
||||
$elem.next = self;
|
||||
$!prev = $elem;
|
||||
$elem;
|
||||
}
|
||||
|
||||
method post-insert(T $payload) {
|
||||
die "Can't insert after end" unless $!next;
|
||||
my $elem = ::?CLASS.new(:$payload);
|
||||
$!next.prev = $elem;
|
||||
$elem.next = $!next;
|
||||
$elem.prev = self;
|
||||
$!next = $elem;
|
||||
$elem;
|
||||
die "Can't insert after end" unless $!next;
|
||||
my $elem = ::?CLASS.new(:$payload);
|
||||
$!next.prev = $elem;
|
||||
$elem.next = $!next;
|
||||
$elem.prev = self;
|
||||
$!next = $elem;
|
||||
$elem;
|
||||
}
|
||||
|
||||
method delete {
|
||||
die "Can't delete a sentinel" unless $!prev and $!next;
|
||||
$!next.prev = $!prev;
|
||||
$!prev.next = $!next; # conveniently returns next element
|
||||
die "Can't delete a sentinel" unless $!prev and $!next;
|
||||
$!next.prev = $!prev;
|
||||
$!prev.next = $!next; # conveniently returns next element
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -35,10 +35,10 @@ role DLList[::DLE] {
|
|||
has DLE $.last;
|
||||
|
||||
submethod BUILD {
|
||||
$!first = DLE.new;
|
||||
$!last = DLE.new;
|
||||
$!first.next = $!last;
|
||||
$!last.prev = $!first;
|
||||
$!first = DLE.new;
|
||||
$!last = DLE.new;
|
||||
$!first.next = $!last;
|
||||
$!last.prev = $!first;
|
||||
}
|
||||
|
||||
method list { ($!first.next, *.next ...^ !*.next).map: *.payload }
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue