⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 05070202225.cpp

📁 数据结构(清华版)
💻 CPP
字号:
//P18 2.25合并线性表
#include<iostream.h>
typedef int Elemtype;

//构建结构体
struct SList
{
	Elemtype *elem;
	int length,listsize;
};

//创建线性表
bool ListCreate(SList  &L,int n,Elemtype a[])
{
	int i;
	L.elem=new Elemtype[n+100];
	if(!L.elem) return false;
	L.length=n;
	L.listsize=n+100;
	for(i=0;i<n;i++) L.elem[i]=a[i];
	return true;

}


//交集合并函数
void ListSame (SList &a,SList &b,SList &c)
{
	int i(0),j(0),k(0);
	c.elem=new Elemtype[a.length];
	do
	{	
		if(a.elem[i]>b.elem[j])//a大时b向后移
			j++;
		else if(a.elem[i]<b.elem[j])//b大时a向后移
			i++;
		else
		{
			c.elem[k]=a.elem[i];
			k++;
			i++;
			j++;
		}
	}while(j<b.length&&i<a.length);
	c.length=k;
}

//主函数
void main()
{
	SList A,B,C;//声明线性表
	int a[]={1,3,4,7};
	int b[]={2,4,7};
	ListCreate( A,4,a);//调用构建函数
	ListCreate( B,3,b);
	ListSame ( A,B,C);//调用交集函数
	for(int i=0;i<C.length;i++)
		cout<<C.elem[i];
	cout<<endl;


}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -