#include "iostream.h"
struct node
{
char data;
node *next;
};
node * create();
void showList(node *head);
node * search(node *head,char keyWord);
void insert(node * &head,char keyWord,char newdata);
void Delete(node * &head,char keyWord);
void destory(node * &head);
void reverse(node * &head);
void main()
{
node *head=NULL;
head=create();
showList(head);
reverse(head);
showList(head);
destory(head);
}
node * create()
{
node * head=NULL;
node * pEnd=head;
node * pS;
char temp;
cout <<"Please input a string end with '#':" <<endl;
do
{
cin >>temp;
if (temp!='#')
{
pS=new node;
pS->data=temp;
pS->next=NULL;
if (head==NULL)
{
head=pS;
}
else
{
pEnd->next=pS;
}
pEnd=pS;
}
}while (temp!='#');
return head;
}
void showList(node *head)
{
node *pRead=head;
cout <<"The data of the link list are:" <<endl;
while (pRead!=NULL)
{
cout <<pRead->data;
pRead=pRead->next;
}
cout <<endl;
}
node * search(node *head,char keyWord)
{
node *pRead=head;
while (pRead!=NULL)
{
if (pRead->data==keyWord)
{
return pRead;
}
pRead=pRead->next;
}
return NULL;
}
void insert(node * &head,char keyWord,char newdata)
{
node *newnode=new node;
newnode->data=newdata;
node *pGuard=search(head,keyWord);
if (head==NULL || pGuard==NULL)
{
newnode->next=head;
head=newnode;
}
else
{
newnode->next=pGuard->next;
pGuard->next=newnode;
}
}
void Delete(node * &head,char keyWord)
{
if (head!=NULL)
{
node *p;
node *pGuard=head;
if (head->data==keyWord)
{
p=head;
head=head->next;
delete p;
cout <<"The deleted node is " <<keyWord <<endl;
return;
}
else
{
while (pGuard->next!=NULL)
{
if (pGuard->next->data==keyWord)
{
p=pGuard->next;
pGuard->next=p->next;
delete p;
cout <<"The deleted node is " <<keyWord <<endl;
return;
}
pGuard=pGuard->next;
}
}
}
cout <<"The keyword node is not found or the link list is empty!" <<endl;
}
void destory(node * &head)
{
node *p;
while (head!=NULL)
{
p=head;
head=head->next;
delete p;
}
cout <<"The link list has been deleted!" <<endl;
}
void reverse(node * &head)
{
node *newhead=NULL;
node *p;
while (head!=NULL)
{
p=head;
head=head->next;
p->next=newhead;
newhead=p;
}
head=newhead;
}
没有合适的资源?快使用搜索试试~ 我知道了~
易学C++、习题及答案
共907个文件
cpp:143个
ncb:141个
dsp:141个
4星 · 超过85%的资源 需积分: 9 20 下载量 84 浏览量
2011-03-29
11:02:53
上传
评论
收藏 3.61MB RAR 举报
温馨提示
易学C++、习题及答案易学C++、习题及答案易学C++、习题及答案易学C++、习题及答案
资源推荐
资源详情
资源评论
收起资源包目录
易学C++、习题及答案 (907个子文件)
main.cpp 2KB
main.cpp 2KB
main.cpp 2KB
main.cpp 2KB
main.cpp 1KB
node.cpp 1KB
node.cpp 1KB
main.cpp 1KB
main.cpp 1KB
main.cpp 1KB
main.cpp 960B
main.cpp 937B
main.cpp 897B
node.cpp 824B
main.cpp 822B
node.cpp 811B
main.cpp 810B
main.cpp 793B
main.cpp 731B
main.cpp 721B
main.cpp 704B
main.cpp 661B
main.cpp 653B
main.cpp 650B
main.cpp 643B
main.cpp 622B
main.cpp 617B
main.cpp 614B
main.cpp 590B
main.cpp 590B
main.cpp 560B
main.cpp 552B
4_2_2.cpp 552B
main.cpp 551B
main.cpp 550B
main.cpp 547B
main.cpp 519B
main.cpp 516B
main.cpp 514B
main.cpp 511B
main.cpp 511B
main.cpp 505B
main.cpp 505B
main.cpp 494B
main.cpp 493B
main.cpp 487B
main.cpp 486B
main.cpp 486B
main.cpp 484B
main.cpp 477B
main.cpp 473B
main.cpp 472B
main.cpp 459B
main.cpp 453B
main.cpp 451B
main.cpp 420B
main.cpp 418B
main.cpp 414B
main.cpp 411B
main.cpp 408B
main.cpp 404B
main.cpp 395B
main.cpp 353B
main.cpp 350B
main.cpp 349B
main.cpp 344B
main.cpp 342B
main.cpp 340B
main.cpp 337B
main.cpp 336B
main.cpp 336B
main.cpp 331B
main.cpp 326B
main.cpp 321B
main.cpp 318B
main.cpp 318B
main.cpp 314B
main.cpp 312B
main.cpp 311B
main.cpp 310B
main.cpp 310B
main.cpp 306B
main.cpp 304B
main.cpp 303B
main.cpp 301B
main.cpp 292B
main.cpp 291B
main.cpp 284B
main.cpp 283B
main.cpp 276B
main.cpp 269B
main.cpp 267B
main.cpp 263B
main.cpp 263B
main.cpp 259B
main.cpp 253B
main.cpp 252B
main.cpp 250B
main.cpp 243B
main.cpp 242B
共 907 条
- 1
- 2
- 3
- 4
- 5
- 6
- 10
资源评论
- Monday22042012-07-16易学,是初学者上手最快的,个人观点
- forestway2012-07-05习题还不错,对初学者和复习者帮助大一些
- chenweiflash2012-05-18很好的c++练习题,并附有答案,非常好的练习帮手。
NextDj
- 粉丝: 65
- 资源: 53
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功