反馈
问题:
已知数组A[l:n]中各个元素的值都是非零整数,其中有些元素的值是相同的(重复)。为删除其中重复的值,可先通过以下流程图找出所有的重复值,并对所有重复值赋0标 记。该流程图采用了双重循环。<br/><br/> 处理思路:如果数组A某个元素的值在前面曾出现过,则该元素赋标记值0。例如, 假设数组A的各元素之值依次为2, 5, 5,1,2, 5, 3,则经过该流程图处理后,各元素之值依次为2,5,0, 1,0,0,3。<br/><br/> <img style='width:100%;' src="https://files.lightsoft.tech/rkfiles/ruankao_work_version_0103/userfile/image/cxy-2012S-x-1.jpg"><br/><br/>
选项 :
【问题:1.1】填补流程图中的空缺(1)〜(5)
答案:
解析:
(1) n-1 <br/>(2) A[i] <br/>(3) i+1<br/>⑷ A[j]<br/>(5) A[j]<br/>在处理大批数据记录时,删除重复记录(关键词重复的记录)是常见的操作。本题源自这种应用。刪除重复记录算法可分两步进行。第一步将重复ai现的多余元素标记为0; 第二步再删除所有的0元素。本题流程图只做第一步处理。<br/>本流程图采用了对i和j的双重循环,对每个元素A[i],需要查看其后面的各个元素(用A[j]表示)是否与A[i]相同。因此,外层循环应对i=l,n-1进行,从而在(1) 处应填“n-1”。内层循环应对j=i+l,n进行,从而在(3) 处应填“i+1”。<br/>在外循环处理中首先应判断A[i]是否已经标记为0,若是则无需进一步处理。因此, (2) 处应填“A[i]”。而在内循环处理中首先应判断A[j]是否已经标记为0,若是则无需进一步处理。因此,(4) 处应填“A[j]”。如果发现元素重复(即A[i]=A[j]),则需要再将 A[j]赋值为0 (标记),因此(5) 处应填“A[j]”。<br/>