?? p120.cpp
字號:
#include <assert.h>
#include <iostream.h>
#include <stdio.h>
const int maxpqsize=10;
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;}
friend ostream& operator <<(ostream& strm, PQueue<Type>& a);
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;
}
template <class Type>
ostream& operator <<(ostream& strm, PQueue<Type>& a)
{
Type *p=a.pqelements;
strm<<"Count:"<<a.count<<endl;
for (int i=0;i<=a.count;i++,p++)
{
strm<<*p<<' ';
}
strm<<endl;
return strm;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -