數據結構學習筆記 算法2.1的具體實現,合併集合A,B

<pre name="code" class="cpp">#include <stdio.h>
#define TRUE    1
#define FALSE   0
#define OK      1
#define ERROR   0
#define INFEASIBLE    -1
#define OVERFLOW      -2
typedef char List;
int equal(List *L,int e)
{
	int L_len,i;
	L_len = strlen(L);
	for(i = 0;i<L_len;i++)
	{
		if(e == *(L+i))
		{
			return 1;
		}
	}
	return 0;
}
void lianhe(List *La, List *Lb) 
{
	//printf("%s\n", La);
	//printf("%c\n",*Lb);
	int La_len, Lb_len,i,foo;
	La_len = strlen(La);
	Lb_len = strlen(Lb);
	List e;
	for(i = 0;i<Lb_len;i++)
	{
		e = *(Lb+i);
		//printf("%c\n",e);
	    //foo =equal(La,e);
	    //printf("%d\n", foo);
	    if(equal(La,e)==0)
	    {
    		La_len= strlen(La);
    		char *E = &e;
    		*(La+La_len) = *E;
    		*(La+La_len+1)=NULL;
    	}
    	
	}
}
int main(int argc, char *argv[])
{
	List a[]={'1','2','3','4','5','8','9',0};
    List b[]={'3','4','5','6','7','0',0};
	printf("A = %s\n", a);
	printf("B = %s\n", b);
	lianhe(a,b);
	printf("A & B = %s\n", a);
	return 0;
}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章