设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 1177|回复: 3
打印 上一主题 下一主题

[原创]C++程序设计实践报告

[复制链接]
跳转到指定楼层
1#
发表于 2009-11-3 03:32:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
C++作业,分享




附件: 只有本站会员才能下载或查看附件,请您 登录 或 注册
2#
发表于 2009-11-3 03:32:57 | 只看该作者
支持一下

感觉mylist的删除考虑的不全面,改了一下,不过没运行。

  1. void Delete(T &inform) //删除
  2. {
  3. bool found=false;

  4. if( (head == tail) && (head->info == inform) ) //查找到,而且只有一个元素
  5. {
  6. delete head;
  7. head = tail = 0;
  8. found=true;
  9. }
  10. else if(head->info == inform) // 在表头,而且链表不止一个元素
  11. {
  12. tmp = head;
  13. head = head->next;
  14. delete tmp;
  15. found=true;
  16. }
  17. else // 不在head
  18. {
  19. CNode<T> *tmp = head->next, *pred = head ;

  20. while( (tmp != 0) && (tmp->info != inform) ) //查找
  21. {
  22. pred = tmp;
  23. tmp = tmp->next;
  24. }

  25. if( tmp != 0 ) //找到
  26. {
  27. if( tmp == tail ) //是最后一个元素
  28. tail = pred;
  29. pred->next = tmp->next;
  30. delete tmp;
  31. found=true;
  32. }
  33. }
  34. if(!found)cout<<"Cann't delete a nonentity information !"<<endl;
  35. else cout<<"\n 删 除 成 功!"<<endl;
  36. }
复制代码
回复 支持 反对

使用道具 举报

3#
发表于 2009-11-3 03:32:58 | 只看该作者
to woodhead:
谢谢指出,说实话,我没太在意编这个,这只是我们C++的作业,我也就花了2,3个小时写的,的确是如此,我好蠢,这么低级的错误,呵呵~
回复 支持 反对

使用道具 举报

4#
发表于 2009-11-3 03:32:59 | 只看该作者
刚才改了下:
void Delete(T &inform) //删除
{
bool found=false;CNode<T>* oldNode=NULL;
if(head==NULL) //空表
{cout<<"Can't delete from a empty list!\n";return;}
else if(head->next==NULL)//只有一个元素的表
{
if(head->info == inform)
{
delete head;delete tail;head=NULL;tail=NULL;found=true;
}
else found=false;
}
else
for(CNode<T>*newNode=oldNode=head;newNode;)
{
if(newNode->info==inform)
{
if(newNode==head)//元素在表头
{
head=head->next;//更新链表头
delete newNode;
}
else //不在表头
{
oldNode->next=newNode->next;
delete newNode;
}
found=true; //找到该数据
break;
}
else
{
oldNode=newNode;
newNode=newNode->next;
}
}
if(!found)cout<<"Cann't delete a nonentity information !"<<endl;
else cout<<"\n 删 除 成 功!"<<endl;
}
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-18 14:39 , Processed in 0.077272 second(s), 8 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表