c++陈维兴第三版3.35_C++陈维兴课后习题答案

这篇博客介绍了C++中使用模板类QueueLink实现队列的数据结构,包括构造函数、析构函数、入队、出队、清空队列和显示队列内容等操作。示例代码详细展示了每个成员函数的实现细节。
摘要由CSDN通过智能技术生成

uelink();

void put(Type value);

Type get();

void clear();

void showqueue();

private:

node&ltType&gt *head;

node&ltType&gt *rear;

};

template&ltclass Type&gt

queuelink&ltType&gt::queuelink()

{

node&ltType&gt *T;

T=new node&ltType>

T-&gtnext=NULL;

head=rear=T;

}

template&ltclass Type&gt

queuelink&ltType&gt::~queuelink()

{ node&ltType&gt *N,*Temp;

for(N=rear;N!=NULL;)

{ Temp=N;

N=N-&gtnext;

delete Temp;

----------------------- Page 84-----------------------

}

}

template&ltclass Type&gt

void queuelink&ltType&gt::put(Type value)

{ node&ltType&gt *T;

T=new node&ltType>

T-&gtnext=NULL;

head-&gtdata=value;

head-&gtnext=T;

head=head-&gtnext;

cout&lt&lt"you have put a data into the queue!\n";

}

template&ltclass Type&gt

Type queuelink&ltType&gt::get()

{ Type value;

node&ltType&gt *T;

if(head==rear)

{ cout&lt&lt"\n The queue has no data!\n";

return(0);

}

value=rear-&gtdata;

T=rear;

rear=rear-&gtnext;

delete T;

cout&lt&lt"\n Get "&lt&ltvalue&lt&lt" from queue.\n";

return(value);

}

template&ltclass Type&gt

----------------------- Page 85-----------------------

void queuelink&ltType&gt::clear()

{ head=rear;

cout&lt&lt"\n ***Queue is empty! ***\n";

}

template &ltclass Type&gt

void queuelink&ltType&gt::showqueue()

{ node&ltType&gt *T;

if(head==rear)

{ cout&lt&lt"\n the queue has no data! ";

return;

}

cout&lt&lt"\n the content of queue: \n";

for(T=rear;T!=head;T=T-&gtnext)

cout&lt&ltsetw(5)&lt&ltT-&gtdata;

cout&lt&lt"\n\n";

}

main()

{ cout&lt&lt"&ltp&gt------put data to queue\n";

cout&lt&lt"&ltg&gt------get data from queue\n";

cout&lt&lt"&ltl&gt------clear queue\n";

cout&lt&lt"&lts&gt------show the content of queue\n";

cout&lt&lt"&ltq&gt------quit......\n";

queuelink&ltchar&gt ss;

char value;

char ch;

while(1)

{ cout&lt&lt"\n please select an item: ";

cin&gt&gtch;

----------------------- Page 86-----------------------

ch=toupper(ch);

switch(ch)

{ case 'p':cout&lt&lt"\n enter the value that";

cout&lt&lt" you want to put: ";

cin&gt&gtvalue;

ss.put(value);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值