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

MultiPlatform

  1. #define LEDA_CHECKING_OFF
  2. #include <LEDA/graph.h>
  3. #include <LEDA/map.h>
  4. #include <LEDA/node_map.h>
  5. #include <LEDA/h_array.h>
  6. #include <LEDA/d_array.h>
  7. #include <LEDA/dph_array.h>
  8. main()
  9. {
  10.    graph G;
  11.    node v;
  12.    int sum = 0;
  13.    int n = read_int("n = ");
  14.    random_graph(G,n,0);
  15.    node_array<int>   A(G,0);
  16.    map<node,int>     M(0,sizeof(node_struct));
  17.    h_array<node,int> C(0,sizeof(node_struct));
  18.    d_array<node,int> D(0);
  19.    dph_array<node,int> E(0);
  20.    node_map<int>     NM(G);
  21.    float T = used_time();
  22.    int count = 0;
  23.    cout << "node_array: " <<flush;
  24.    forall_nodes(v,G) 
  25.    { A[v] = count++;
  26.      sum += A[v];
  27.     }
  28.     cout << string("%5.2f sec",used_time(T)) << endl;
  29.    count = 0;
  30.    cout << "map:        " <<flush;
  31.    forall_nodes(v,G) 
  32.    { M[v] = count++;
  33.      sum += M[v];
  34.     }
  35.     cout << string("%5.2f sec",used_time(T)) << endl;
  36.    count = 0;
  37.    cout << "node_map:   " <<flush;
  38.    forall_nodes(v,G) 
  39.    { NM[v] = count++;
  40.      sum += NM[v];
  41.     }
  42.     cout << string("%5.2f sec",used_time(T)) << endl;
  43.    count = 0;
  44.    cout << "h_array:    " <<flush;
  45.    forall_nodes(v,G) 
  46.    { C[v] = count++;
  47.      sum += C[v];
  48.     }
  49.    cout << string("%5.2f sec",used_time(T)) << endl;
  50.    count = 0;
  51.    cout << "d_array:    " <<flush;
  52.    forall_nodes(v,G) 
  53.    { D[v] = count++;
  54.      sum += D[v];
  55.     }
  56.    cout << string("%5.2f sec",used_time(T)) << endl;
  57.    count = 0;
  58.    cout << "dph_array:  " <<flush;
  59.    forall_nodes(v,G) 
  60.    { E[v] = count++;
  61.      sum += E[v];
  62.     }
  63.    cout << string("%5.2f sec",used_time(T)) << endl;
  64.    newline;
  65.    cout << sum << endl;
  66.   return 0;
  67. }