Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1257766
  • 博文数量: 788
  • 博客积分: 4000
  • 博客等级: 上校
  • 技术积分: 7005
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-19 15:52
文章存档

2017年(81)

2011年(1)

2009年(369)

2008年(337)

分类:

2008-10-14 16:38:58



我的意思是,如果是A,B是集合的话,那么我要B-A;  
   
      for   x:=1   to   A.count   do    
          for   y:=1   to   B.count   do    
              if   a[x-1]=b[y-1]   then   b.delete(y-1);  
   
  用如下代码为什么会出错,如何修改呢?万分感谢回答的朋友!  
         
 

for   x:=1   to   A.count   do    
          for   y:=B.count-1   downto   0   do    
              if   a[x-1]=b[y-1]   then   b.delete(y-1);  
   
  因为你在B中删除一个项目后,B的COUNT值就变化了.....所以啊你应当在查询B时,要用DOWNTO来循环.

严重同意一楼。

楼上说的对,不能从头到脚,只能从脚到头这样删除才行

function   StringReplace(const   S,   OldPattern,   NewPattern:   string;   Flags:   TReplaceFlags):   string;



[新闻]Silverlight对Flash 微软打垮Adobe
博客园首页 社区 新闻频道 小组 博问 网摘 闪存
阅读(720) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~