dechain 264 B

123456789101112131415
  1. /* Remove peninsulas - chains hanging off the main graph */
  2. BEGIN {
  3. edge_t e;
  4. node_t v, n;
  5. }
  6. N [degree == 1] {
  7. n = $;
  8. while (n.degree == 1) {
  9. e = fstedge (n);
  10. if (e.head == n) v = e.tail;
  11. else v = e.head;
  12. delete($G,n);
  13. n = v;
  14. }
  15. }