⍝ Remove vertex ⍵ from graph ⍺:
⎕io←1
a←(2 3)(3)(2 4)(1 5)(3) ⍝ graph "a"
a
┌───┬─┬───┬───┬─┐
│2 3│3│2 4│1 5│3│
└───┴─┴───┴───┴─┘
a remnode 3 ⍝ ... with vertex 3 removed
┌─┬┬───┬┐
│2││1 4││
└─┴┴───┴┘
a remnode foldl 1 ⍝ remove first vertex from "a"
┌─┬───┬─┬─┐
│2│1 3│4│2│
└─┴───┴─┴─┘
a remnode foldl 1 1 ⍝ remove first two vertices from "a"
┌─┬─┬─┐
│2│3│1│
└─┴─┴─┘
a remnode foldl 5 4 ⍝ remove last two vertices from "a".
┌───┬─┬─┐
│2 3│3│2│
└───┴─┴─┘
drop←{⍺ remnode foldl ⍵/⍳1} ⍝ vertex dropping function.
a drop 1 ⍝ drop 1 vertex from "a"
┌─┬───┬─┬─┐
│2│1 3│4│2│
└─┴───┴─┴─┘
a drop 2 ⍝ drop 2 vertices from "a"
┌─┬─┬─┐
│2│3│1│
└─┴─┴─┘
1 disp a drop 5 ⍝ drop 5 vertices from "a".
┌⊖┐
│0│
└⊖┘
⍝∇ remnode foldl
Back to: code
Back to: Workspaces