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

📄 pqueue.h

📁 数据结构各种算法的实现
💻 H
字号:
#include <assert.h>
#include <iostream.h>
#include <stdio.h>
const int maxpqsize=50;

template <class Type> class PQueue{
  public:
    PQueue();
    ~PQueue(){ delete []pqelements;}
    void PQInsert(const Type & item);
    Type PQRemove();
    void makeEmpty(){ count=-1;}
    int  IsEmpty() const { return count==-1;}
    int  IsFull() const {return count==maxpqsize;}
    int  Length() const {return count+1;}
  private:
    Type * pqelements;
    int  count;
  }

  template <class Type> PQueue<Type>::PQueue():count(-1){
    pqelements=new Type[maxpqsize];
    assert(pqelements!=0);
    }

  template <class Type> void PQueue<Type>::PQInsert(const Type & item){
    assert(!IsFull());
    count++;
    pqelements[count]=item;
    }

  template <class Type> PQueue<Type>::PQRemove(){
    assert(!IsEmpty());
    Type min=pqelements[0];
    int minindex=0;
    for(int i=0;i<=count;i++)
      if(pqelements[i]<min){
	min=pqelements[i];
	minindex=i;
	}
    pqelements[minindex]=pqelements[count];
    count--;
    return min;
  }

⌨️ 快捷键说明

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