⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 _list_pq.c

📁 数据类型和算法库LEDA 数据类型和算法库LEDA
💻 C
字号:
/*******************************************************************************
+
+  LEDA  3.0
+
+
+  _list_pq.c
+
+
+  Copyright (c) 1992  by  Max-Planck-Institut fuer Informatik
+  Im Stadtwald, 6600 Saarbruecken, FRG     
+  All rights reserved.
+ 
*******************************************************************************/


#include <LEDA/impl/list_pq.h>

list_pq::list_pq(const list_pq&) { /* copy constructor */}

list_pq& list_pq::operator=(const list_pq&) { /* assignment */ return *this; }


list_pq_item list_pq::insert(GenPtr k,GenPtr i) 
{ copy_key(k);
  copy_inf(i); 
  list_pq_item p = new list_pq_elem(k,i,nil,head);
  if (head) head->pred = p;
  head = p;
  count++;
  return p; 
}

list_pq_item list_pq::find_min() const  
{ list_pq_item p = head;
  list_pq_item m = head;
  if (int_type())
     while (p)
     { if (long(p->key) < long(m->key)) m = p;
       p = p->succ;
      }
  else
     while (p)
     { if (cmp(p->key,m->key) < 0) m = p;
       p = p->succ;
      }
  return m;
 }


void list_pq::del_item(list_pq_item it)     
{ list_pq_item p = it->pred;
  list_pq_item s = it->succ;
  if (p) p->succ = s;
  else   head = s;
  if (s) s->pred = p;
  count--;
 }


void list_pq::clear()   
{ while (head)
  { list_pq_item p = head->succ;
    clear_key(head->key);
    clear_inf(head->inf);
    delete head;
    head = p;
   }
  count = 0;
 }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -