408数据结构每日一题-----链表(2)

2012年统考真题,题目如下:
在这里插入图片描述
代码如下:

#include <iostream>
#include <cstdlib>
using namespace std;
#define max 50
#define Elemtype char
typedef struct Linklist
{
	Elemtype data;
	struct Linklist *next;
}Linklist;

typedef struct Array
{
	Elemtype num[max];
	int length=0;
};

Linklist *Init(Linklist *L,Array array)
{
	L=(Linklist *)malloc(sizeof(struct Linklist));
	Linklist *p=L;
	Linklist *q;
	for(int i=0;i<array.length;i++)
	{
		q=(Linklist *)malloc(sizeof(Linklist));
		q->data=array.num[i];
		p->next=q;
		p=q;
	}
	q->next=NULL;
	return L;
}

void Out(Linklist *L)
{
	struct Linklist *q=L->next;
	cout<<"输出"<<endl; 
	while(q!=NULL)
	{
		cout<<q->data<<endl;
		q=q->next; 
	}
	cout<<endl; 
}
void Search_same(Linklist *L1,Linklist *L2,Array array1,Array array2)
{
	Linklist *p=L1->next;
	Linklist *q=L2->next;
	int length;
	if(array1.length>array2.length)
	{
		length=array1.length-array2.length;
		while(length--&&p!=NULL)
		{
			p=p->next;
		}
	}
	else
	{
		length=array2.length-array1.length;
		while(length--&&q!=NULL)
		{
			q=q->next;
		}
	}
	while(p!=NULL&&q!=NULL&&p->data!=q->data)
	{
		p=p->next;
		q=q->next;
	}
	cout<<"后缀开始"<<q->data<<endl;
}
int main()
{	
	cout<<"输入数据"<<endl;
	int N1;
	Elemtype num;
	cin>>N1;	
	struct Linklist *L1;
	struct Array array1;
	for(int i=0;i<N1;i++)
	{
		cin>>num;
		array1.num[i]=num;
		array1.length++;
	}	
	L1=Init(L1,array1);
	cout<<"输入数据"<<endl;
	int N2;
	cin>>N2;
	struct Linklist *L2;
	struct Array array2;
	for(int i=0;i<N2;i++)
	{
		cin>>num;
		array2.num[i]=num;
		array2.length++;
	}
	L2=Init(L2,array2);
	Search_same(L1,L2,array1,array2);
//	Out(L1);
//	Out(L2);
 } 

结果如下:在这里插入图片描述
明天见!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值