embedding.c
上传用户:gzelex
上传日期:2007-01-07
资源大小:707k
文件大小:1k
开发平台:

MultiPlatform

  1. #include <LEDA/graph.h>
  2. #include <LEDA/graph_alg.h>
  3. main()
  4. {
  5. GRAPH<int,int> G;
  6. int n = read_int("n = ");
  7. random_planar_graph(G,n);
  8. list<edge> el = G.all_edges();
  9. edge e;
  10. forall(e,el) G.new_edge(target(e),source(e));
  11. if ( ! PLANAR(G,true) )
  12.  { cout << "Graph is not planarn";
  13.    exit(1);
  14.   }
  15. node v;
  16. node_array<int> x(G),y(G);
  17. float T = used_time();
  18. cout << "OLD EMBEDDING       ";
  19. cout.flush();
  20. STRAIGHT_LINE_EMBEDDING(G,x,y);
  21. cout << string("%6.2f sec  n",used_time(T));
  22. cout << "NEW EMBEDDING       ";
  23. cout.flush();
  24. STRAIGHT_LINE_EMBEDDING2(G,x,y);
  25. cout << string("%6.2f sec  n",used_time(T));
  26. /*
  27. forall_nodes(v,G) cout << string("x = %2d    y = %2dn",x[v],y[v]);
  28. */
  29. return 0;
  30. }