#include<iostream.h>
#include<fstream.h>
ifstream f("Bac.txt");
using namespace std;
int main()
{
int n,m,i,j,ok,nr=0;
long v[100],p[100];
f>>m;
f>>n;
for(i=1;i<=m;i++)
f>>p[i];
for(i=1;i<=n;i++)
f>>v[i];
for(i=1;i<=n;i++)
{
ok=0;
for(j=1;j<=m;j++)
{
if(v[i]==p[j])
ok=1;
}
if(ok==0)
nr++;
}
cout<<nr;
}
“Bac.txt”文件包含:
6 7
1 2 3 4 7 20
3 5 7 8 9 20 24
我制作的这个程序比较从文件中读取的 2 个数组的值,并显示与第一个数组相比时第二个数组唯一的值的数量。
我使用的方法在某种程度上是有效的“按时间执行”吗?如果我不将文件第 2 行和第 3 行的数字序列存储到数组中,是否会更有效,或者甚至可以让程序做同样的事情?(或者从存储内存的角度来看,这只会使其更高效,但在执行时间上也不会?)