Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/143.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 比较一个文件中的两个数字序列可以在执行时高效地执行 #包括 #包括 iff流(“Bac.txt”); 使用名称空间std; int main() { int n,m,i,j,ok,nr=0; 长v[100],p[100]; f> >m; f> >n; 对于(i=1;i>p[i]; 对于(i=1;i>v[i]; 对于(i=1;i_C++_Mingw - Fatal编程技术网

C++ 比较一个文件中的两个数字序列可以在执行时高效地执行 #包括 #包括 iff流(“Bac.txt”); 使用名称空间std; int main() { int n,m,i,j,ok,nr=0; 长v[100],p[100]; f> >m; f> >n; 对于(i=1;i>p[i]; 对于(i=1;i>v[i]; 对于(i=1;i

C++ 比较一个文件中的两个数字序列可以在执行时高效地执行 #包括 #包括 iff流(“Bac.txt”); 使用名称空间std; int main() { int n,m,i,j,ok,nr=0; 长v[100],p[100]; f> >m; f> >n; 对于(i=1;i>p[i]; 对于(i=1;i>v[i]; 对于(i=1;i,c++,mingw,C++,Mingw,,您的算法当前是O(N2),这不是特别好 如果对这两个序列进行排序,只需合并两个数组,就可以在O(N)时间内完成此操作 如果这两个序列没有排序,您可以使用std::set在O(N.logN)时间内进行排序。另外,为什么要从1开始索引?在数组的第0个插槽中有一个对象?for(i=0;i n,它也是一样的东西,索引在C++中使用1个数组是很不酷的。语言使用0个数组。你应该习惯它,否则你会把自己和任何工作的人弄糊涂。用你的代码。很抱歉,你被教错了,这不是一件大事,但世界上其他所有的C程序员都是从零开始

,您的算法当前是O(N2),这不是特别好

如果对这两个序列进行排序,只需合并两个数组,就可以在O(N)时间内完成此操作


如果这两个序列没有排序,您可以使用
std::set

O(N.logN)时间内进行排序。另外,为什么要从1开始索引?在数组的第0个插槽中有一个对象?for(i=0;i n,它也是一样的东西,索引在C++中使用1个数组是很不酷的。语言使用0个数组。你应该习惯它,否则你会把自己和任何工作的人弄糊涂。用你的代码。很抱歉,你被教错了,这不是一件大事,但世界上其他所有的C程序员都是从零开始的,你的代码只会让人恼火。这只是一个小小的心理变化,所以现在就做吧。
#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;

}