C语言能够解决海量数据吗??
大家好,用C语言编了一个程序,是从海量数组中找出只出现一次的数组,(这些海量数组中有很多都是重复的,它们都是一维数组,元素个数相同)程序如下:
#include <stdio.h>
#define N 7
#define M 3
int check(int *p,int *q,int length);
int main(void)
{
int i, j;
int a[N][M]={{1,2,3},{2,5,6},{1,2,3},{3,6,9},{3,4,7},{1,2,3},{3,4,7}};
for (i=0; i<N; i++)
{
for (j=0; j<N; j++)
{
if (j==i) continue;
if (check(a[i], a[j], M)) goto NEXT;
}
printf("%3d:\t",i+1);
for (j=0; j<M; j++)
printf("%d ",a[i][j]);
printf("\n");
NEXT:;
}
return 0;
}
int check(int *p, int *q, int length)
{
int i=0;
for (; i<length; i++)
if (p[i]!=q[i])
return 0;
return 1;
}
我这里只是假设只有7个一维数组,当然是正确的,可是当数组个数很大时,就会溢出,听人说编译系统对数组申请的空间是有限制的,请问"高人"这个限制能够人为改动吗,还有C语言是否能够解决海量的数据呢,如果能该怎样解决呢,如果不能那么你们对于上题有什么好的方法和建议呢,谢谢!!