#include <string.h>
#include <stdlib.h>
#include "student.h"
void intersection(int* A, int* B, int lenA, int lenB, int** C, int* lenC)
{
/*
A表示数组A,B表示数组B,lenA表示数组A的长度,lenB表示数组
B的长度,C表示结果,lenC表示结果的长度
需要将交集存放在数组C中。
*/
/*********Begin********/
int* hash_A = (int*)malloc(100*sizeof(int));
int* hash_B = (int*)malloc(100*sizeof(int));
memset(hash_A,0,100);
memset(hash_B,0,100);
for(int i=0;i<lenA;++i)
{
hash_A[A[i]]++;
}
for(int i=0;i<lenB;++i)
{
hash_B[B[i]]++;
}
int total=0;
for(int i=0;i<100;++i)
{
if(hash_A[i]>0&&hash_B[i]>0)
total++;
}
int* result=(int*)malloc(total*sizeof(int));
int cur_index=0;
for(int i=0;i<100;++i)
{
if(hash_A[i]>0&&hash_B[i]>0)
result[cur_index++]=i;
}
*C=result;
*lenC=total;
/*********End*********/
}