zoukankan      html  css  js  c++  java
  • 算法练习-2

    已知单调递增的单链表A,B,求A-B(差集),结果保存在A链表,并保持单调递增。其中:A,B有头结点。

     1 #include <stdio.h>
     2 #include <stdlib.h>
     3 
     4 typedef struct LNode
     5 {
     6     int data;
     7     LNode *next;
     8 }LNode;
     9 
    10 LNode* createLink(int a[],int len)
    11 {
    12     LNode *head=(LNode*)malloc(sizeof(LNode));
    13     head->next=NULL;
    14     LNode *q=head;
    15     for(int i=0;i<len;i++)
    16     {
    17         LNode *p=(LNode*)malloc(sizeof(LNode));
    18         p->data=a[i];
    19         p->next=NULL;
    20         q->next=p;
    21         q=q->next;
    22     }
    23     return head;
    24 }
    25 
    26 void print(LNode*head)
    27 {
    28     LNode*p=head->next;
    29     printf("开始打印
    ");
    30     while(p)
    31     {
    32         printf("%d 	", p->data);
    33         p=p->next;
    34     }
    35     printf("
    结束打印
    ");
    36 }
    37 
    38 void f(LNode *A,LNode *B)//已知各自有序的链表A,B,求差集A-B,结果写回A链表
    39 {
    40     LNode *p,*q,*pre;
    41     pre=A,p=pre->next,q=B->next;
    42     while(p && q)
    43     {
    44         if(p->data < q->data)
    45         {
    46             p=p->next;
    47             pre=pre->next;
    48         }
    49         else if(p->data == q->data)
    50         {
    51             pre->next=p->next;
    52             p=p->next;
    53         }
    54         else
    55         {
    56             q=q->next;
    57         }
    58     }
    59 }
    60 int main(int argc, char const *argv[])
    61 {
    62     int a[]={1,2,3,4,5,6};
    63     int aLen=sizeof(a)/sizeof(int);
    64     int b[]={1,3,5};
    65     int bLen=sizeof(b)/sizeof(int);
    66     LNode *A=createLink(a,aLen);
    67     LNode *B=createLink(b,bLen);
    68 
    69     f(A,B);
    70     print(A);
    71     return 0;
    72 }

    运行结果:

  • 相关阅读:
    Zookeeper and The Infinite Zoo(CF1491D)(位运算)
    树上差分
    最近公共祖先
    极角排序
    最长路spfa
    树的基础
    树的遍历~
    最小圆覆盖板子
    动态凸包(询问点是否在凸包内部)
    凸包内最大三角形
  • 原文地址:https://www.cnblogs.com/gilgamesh-hjb/p/11900993.html
Copyright © 2011-2022 走看看