Impresión de dos listas parte común implementado -C ++

/*打印两个链表的公共部分
	方法:
	指针分别指向两个链表的首部,谁小谁移动到下一个,如果相同那么打印并且两个指针都移动*/
#include <iostream>
using namespace std;


struct Node
{
	int value;
	struct Node* next;
};

typedef struct Node* Linklist;

Linklist list1;
Linklist list2;//定义两个链表

void CreateLink(Linklist &L, int n);//将链表初始化
int* GetCommonFromTwoList(Linklist L1, int n1, Linklist L2, int n2)
{
	Linklist node1 = L1;
	Linklist node2 = L2;

	int n = n1 > n2 ? n1 : n2;
	int *p = new int[n];
	int i = 0;
	for (int i = 0; i < n; ++i)
	{
		p[i++] = node1.value == node2.value ? ((node1++).value + (node2++).value) >> 2 : node1.value < node2.value ? (node2++).value : (node1++).value;
	
	}

	return *p;
}

int main(int argc, char const *argv[])
{
	/* code */
	return 0;
}

 

Publicado 43 artículos originales · ganado elogios 44 · vistas 6608

Supongo que te gusta

Origin blog.csdn.net/qq_41582910/article/details/104601530
Recomendado
Clasificación