主题:初学!请教!
			 VC菜鸟
				 [专家分:0]  发布于 2006-03-27 23:26:00
 VC菜鸟
				 [专家分:0]  发布于 2006-03-27 23:26:00							
			大家好!我是刚开始学数据结构!有一个问题,想请大家帮忙。
删除值为X的元素 a[1] ,a[2] ,a[3]......a[n] 
写算法。(先用定位算法查找,在用删除运算)(C++描述)
						
					 
		
			
回复列表 (共2个回复)
		
								
				沙发
				
					 eagleking0000 [专家分:3330]  发布于 2006-03-28 00:10:00
eagleking0000 [专家分:3330]  发布于 2006-03-28 00:10:00				
				先拿x和所有的数组的内容比较 一个for和一个if可以搞定
记录相等的值的位置将那个位置后的所有的值向前移动一个地址同样一个for可以搞定
位置移动 r[j]=r[j+1];注意for的循环结束条件,最后将数组长度减1.(看有几个和x相同的)
相信你能搞定的
							 
						
				板凳
				
					 tiki1314 [专家分:0]  发布于 2006-03-31 15:47:00
tiki1314 [专家分:0]  发布于 2006-03-31 15:47:00				
				for(i=0;i<n;i++)
   {
     if(a[i]==x;)
      a[i]=a[i+1];
    }
这个问题也可以用栈来实现.
 用GetElem() 来取出值为x的项;然后整个栈的长度减去1;
							 
									
			
我来回复