#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(100sizeof(int));
int hash_B = (int*)malloc(100sizeof(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/
}