数据结构与算法分析——c语言描述 练习3.4 答案

1:Insert算法   (虽然传递了链表T,但是并没有使用到,但考虑到可能有的功能需要传递,默认写上)

void Insert(List T,DataType x;Position p)
{
	Position s = new struct Node;
	
	s->Data = x;
	s->Next = p->Next;
	p->Next = s;
}

2:交集insertcet算法

void Insertcet(List L1,List L2)
{
	List Result;			//定义一个结果链表放入交集结点 
	Position p = L1;		//定义一个指向L1的工作指针p 
	Position q = L2;		//定义一个指向L2的工作指针q 
	Position ResultPos = Result;	// 定义一个指向Result的工作指针ResultPos 
	
	while(L1!=NULL&&L2!=NULL)		 
	{
		if(p->Data < q->Data)		 //分三种情况考虑 
		{
			p = p->Next;
		}
		else if(p->Data > q->Data)
		{
			q = q->Next;
		}
		else {
			Insert(List T,p->Data,ResultPos)
			p = p->Next;
			q = q->Next;
			ResultPos = ResultPos->Next;
		}
	}
	return Result;
}


posted @ 2017-12-20 00:03  Western_Trail  阅读(320)  评论(0编辑  收藏  举报