当前位置: 首页>>代码示例>>C++>>正文


C++ DLList::Pop方法代码示例

本文整理汇总了C++中DLList::Pop方法的典型用法代码示例。如果您正苦于以下问题:C++ DLList::Pop方法的具体用法?C++ DLList::Pop怎么用?C++ DLList::Pop使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在DLList的用法示例。


在下文中一共展示了DLList::Pop方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: reduce_cliques

//###############################################################################################################
void reduce_cliques(DLList<ClusterList<NNode*>*> *global_cluster_list, FILE *file)
{
  unsigned long size;
  ClusterList<NNode*> *c_cur, *largest_c=0;
  DLList<ClusterList<NNode*>*> *subsets;
  DLList_Iter<ClusterList<NNode*>*> c_iter, sub_iter;
  DLList_Iter<NNode*> iter;
  NNode *n_cur;

  if (!(global_cluster_list->Size())) return;
  //wir suchen den groessten Cluster

  c_cur=c_iter.First(global_cluster_list);
  size=0;
  while (!(c_iter.End()))
  {
    if (c_cur->Size()>size)
      {
        size=c_cur->Size();
        largest_c=c_cur;
      }
    c_cur=c_iter.Next();
  }
// printf("Groesster Cluster hat %u Elemente.\n",largest_c->Size());

  //Schauen, ob es Teilmengen gibt, die ebenfalls gefunden wurden
  subsets=new DLList<ClusterList<NNode*>*>();
  c_cur=c_iter.First(global_cluster_list);
  while (!(c_iter.End()))
  {
    if ((*c_cur<*largest_c || *c_cur==*largest_c) && c_cur!=largest_c)   //alle echten Teilcluster von largest_c und die doppelten
    {
      subsets->Push(c_cur);
    }
    c_cur=c_iter.Next();
  }
  // die gefundenen Subsets werden aus der cluster_liste geloescht
  while (subsets->Size())
  {
    global_cluster_list->fDelete(subsets->Pop());
  }
  delete subsets;
  // Dann schreiben wir den groessten Cluster in das File
  fprintf(file,"Energie: %1.12f   Nodes:%3lu    -   ",largest_c->Get_Energy(),largest_c->Size());
  
  n_cur=iter.First(largest_c);
  while (!(iter.End()))
  {
     fprintf(file,"%s",n_cur->Get_Name());
     n_cur=iter.Next();
     if (n_cur) fprintf(file,", ");
   }
   fprintf(file,"\n");
   
   
  //Schliesslich schmeissen wir noch den eben gefundenen groessten Cluster raus
 global_cluster_list->fDelete(largest_c);
  //und dann geht es von vorn mit der Reduzierten ClusterListe los
  reduce_cliques(global_cluster_list, file);

}
开发者ID:CansenJIANG,项目名称:igraph,代码行数:62,代码来源:NetRoutines.cpp


注:本文中的DLList::Pop方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。