#include<iostream>
using namespace std;
struct LinkNode{
int value;
LinkNode* next;
};
LinkNode* getLink(int arr[], int length);
void show(LinkNode* head);
void showPublic(LinkNode* head1, LinkNode* head2);
int main(){
int arr1[] = {1,3,5,6,10};
int arr2[] = {2,3,6,7};
LinkNode* head1 = getLink(arr1, 5);
// LinkNode* head2 = getLink(arr2, 4);
show(head1);
// show(head2);
// showPublic(head1,head2);
return 0;
}
LinkNode* getLink(int arr[], int length){
LinkNode* head = new LinkNode();
LinkNode* go = head;
int i =0;
while(i<length){
LinkNode* node = new LinkNode();
node->value = arr[i];
node->next = nullptr;
go->next = node;
go = go->next;
i++;
}
return head;
}
void show(LinkNode* head){
LinkNode* go = head->next;
while(go!=nullptr){
cout << go->value << endl;
go = go->next;
}
}
void showPublic(LinkNode* head1, LinkNode* head2){
LinkNode* go1 = head1->next;
LinkNode* go2 = head2->next;
while(go1 != nullptr && go2 != nullptr){
if(go1->value == go2->value){
cout << go1->value << endl;
go1 = go1->next;
go2 = go2->next;
}
go1 = go1->value < go2->value ? go1->next : go1;
go2 = go1->value > go2->value ? go2->next : go2;
}
}