zoukankan      html  css  js  c++  java
  • wenbao与链表

    两个非递减的链表合并为一个严格递减链表

     1 #include <iostream>
     2 #include <stdio.h>
     3 using namespace std;
     4 struct Node{
     5     int x;
     6     Node* next;
     7 };
     8 Node *add(int xx, Node *q){
     9     Node *pp;
    10     pp = new Node;
    11     pp -> x = xx, pp -> next = q;
    12     return pp;
    13 }
    14 Node *creat(Node *p, int n){
    15     Node *pp, *q;
    16     pp = p = NULL;
    17     for(int i = 0; i < n; ++i){
    18         q = new Node;
    19         scanf("%d", &q->x);
    20         q->next = NULL;
    21         if(pp == NULL) p = q;
    22         else pp->next = q;
    23         pp = q;
    24     }
    25     return p;
    26 }
    27 void uni(Node *p, Node *p2){
    28     Node *p3, *pp;
    29     p3 = NULL;
    30     while(p != NULL || p2 != NULL){
    31         if(p == NULL){
    32             if(p2->x > p3->x)    p3 = add(p2->x, p3);
    33             p2 = p2->next;
    34         }else if(p2 == NULL){
    35             if(p->x > p3->x)    p3 = add(p->x, p3);
    36             p = p->next;
    37         }else{
    38             if(p->x == p2->x){
    39                 if(p3 == NULL || p->x != p3->x)    p3 = add(p->x, p3);
    40                 p = p->next, p2 = p2->next;
    41             }else if(p->x > p2->x){
    42                 if(p3 == NULL || p3->x != p2->x)    p3 = add(p2->x, p3);
    43                 p2 = p2->next;
    44             }else{
    45                 if(p3 == NULL || p3->x != p->x)    p3 = add(p->x, p3);
    46                 p = p->next;
    47             }
    48         }
    49     }
    50     for(pp = p3; pp != NULL; pp = pp->next)    printf("%d
    ", pp->x);
    51 }
    52 int main(){
    53     Node *p, *p2;
    54     int n, m;
    55     scanf("%d", &n);
    56     p = creat(p, n);
    57     scanf("%d", &m);
    58     p2 = creat(p2, m);
    59     uni(p, p2);
    60     return 0;
    61 }

    只有不断学习才能进步!

  • 相关阅读:
    纪念日给男(女)朋友的表白页面
    Vue组件的传值(非父子之间)
    express脚手架的安装和使用
    MongoDB数据库
    vuex状态
    MVVM框架的简单理解
    关于vue脚手架
    申请百度密钥
    svg
    微信小程序开发学习笔记
  • 原文地址:https://www.cnblogs.com/wenbao/p/6600434.html
Copyright © 2011-2022 走看看