Guest User

Untitled

a guest
Jan 28th, 2020
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.56 KB | None | 0 0
  1. #include<iostream>
  2. using namespace std;
  3.  
  4. class node {
  5.   public :
  6.     int data;
  7.     node * next;
  8.     node(int data){
  9.         this-> data = data;
  10.         next = NULL;
  11.     }
  12.    
  13.    
  14. };
  15.  
  16. void insertHead(node* &head, int data){
  17.     node * n = new node(data);
  18.     n -> next = head;
  19.     head = n;
  20. }
  21.  
  22. void insert(node * &head, int data){
  23.     node * n = new node(data);
  24.     node * temp = head;
  25.     while(temp -> next != NULL){
  26.         temp = temp -> next;
  27.     }
  28.     temp->next = n;
  29.     n -> next = NULL;
  30.    
  31. }
  32.  
  33. void print(node * &head){
  34.    
  35.     node * temp = head;
  36.     while(temp != NULL){
  37.         cout<<temp->data<<" ";
  38.         temp = temp -> next;
  39.     }
  40.    
  41. }
  42.  
  43. void reverseK(node* &head, int k){
  44.      node * temp = head, *curr = head;
  45.      node *tempPointer = NULL;
  46.      node *prev = NULL;
  47.      node * null_node = NULL;
  48.      int count = 0, flag = 0;
  49.      while(temp != NULL){
  50.          prev = NULL;
  51.          count = 0;
  52.          
  53.          while(temp != NULL){
  54.              temp = curr->next;
  55.              curr->next= prev;
  56.              prev = curr;
  57.              curr = temp;
  58.              count++;
  59.              if(count == 1){
  60.                  tempPointer = prev;
  61.              }
  62.              if(count == k){
  63.                  flag++;
  64.                  break;  
  65.                  count = 0;
  66.              }  
  67.             // cout<<flag<<endl;
  68.              
  69.          }
  70.          
  71.          if(flag == 1){
  72.             null_node = head;
  73.             head =  prev;
  74.             // print(head);
  75.             // cout<<endl;
  76.             //cout<<"**"<<endl;
  77.          }
  78.          else{
  79.              null_node->next = prev;
  80.              null_node = tempPointer;
  81.             //   print(head);
  82.             // cout<<endl;
  83.          }
  84.          
  85.          
  86.      }
  87.    
  88.    
  89.    
  90. }
  91.  
  92. int intersect(node * head1, node * head2){
  93. node* temp=head1;
  94. while(head2!=NULL){
  95. while(head1!=NULL){
  96. if(head1->data==head2->data){
  97. return head1->data;
  98. }
  99. head1=head1->next;
  100. }
  101. head1=temp;
  102. head2=head2->next;
  103. }
  104. return 0;
  105. }
  106.  
  107. int main(){
  108.     int n;
  109.     cin>>n;
  110.    
  111.    node *head = NULL, *Head = NULL;
  112.    int i = 0;    
  113.    for(int i = 0; i < n; i++){
  114.        int a;
  115.        cin>>a;
  116.         if(i == 0)
  117.             insertHead(head, a);
  118.         else
  119.             insert(head, a);
  120.    }
  121.    cin>>n;
  122.    for(int i = 0; i < n; i++){
  123.        int a;
  124.        cin>>a;
  125.         if(i == 0)
  126.             insertHead(Head, a);
  127.         else
  128.             insert(Head, a);
  129.    }
  130.    int data = intersect(head, Head);
  131.    cout<<data;
  132.    // print(head1);
  133.        return 0;
  134.    
  135. }
Add Comment
Please, Sign In to add comment