首页 > 其他分享 >C语言判断单链表是否相交

C语言判断单链表是否相交

时间:2024-10-30 15:21:08浏览次数:5  
标签:p2 单链 return 相交 C语言 p1 link next

//
// Created by Administrator on 2024/10/29.
//

#ifndef LINK_H
#define LINK_H
/**
 * 链表的结构体
 */
typedef struct Link {
    int element;
    struct Link *next;
} link;
#endif //LINK_H
//
// 判断单链表是否相交
// Created by Administrator on 2024/10/30.
//
#pragma once
#include "Link.h"/*链表结构*/

#ifndef IFCROSSLINK_H
#define IFCROSSLINK_H

typedef enum bool {
    False = 0,
    True = 1,
} bool;

/**
 * 判断单链表是否相交
 * @param a
 * @param b
 * @return
 */
bool ifCrossLink(link *a, link *b);
#endif //IFCROSSLINK_H
//
// Created by Administrator on 2024/10/30.
//
#include "IfCrossLink.h"
/**
 * 判断单链表是否相交
 * @param a
 * @param b
 * @return
 */
bool ifCrossLink(link *a, link *b) {
    link *p1 = a;
    link *p2 = b;
    /*1. 暴力比较*/
    // while (p1) {
    //     while (p2) {
    //         if (p1 == p2) {
    //             return True;
    //         }
    //         p2 = p2->next;
    //     }
    //     p1 = p1->next;
    // }

    /*
     * 2. 优化
     * 单链表相交的场景结构为如下示例
     * 【】->
     *       【】->【】->【】
     * 【】->
     * 那么是不是只需要比较最后一个节点是不是同一个节点,就能判断单链表是否相交呢
     */
    while (p1) {
        p1 = p1->next;
    }
    while (p2) {
        p2 = p2->next;
    }
    if (p1 == p2) return True;
    return False;
}

 

标签:p2,单链,return,相交,C语言,p1,link,next
From: https://www.cnblogs.com/longfeiPHP/p/18515891

相关文章

  • 实验3_C语言函数应用编程
    task1:输入分数,返回等级有问题。当输入高于E等级对应的分数时,函数返回值将是从该等级到E等级全部等级,如输入9将返回BCDE。 #include<stdio.h>charscore_to_grade(intscore);//函数声明intmain(){intscore;chargrade;while(scanf("%d",&score)!......
  • 关于我、重生到500年前凭借C语言改变世界科技vlog.12——深入理解指针(2)
    文章目录1.数组名与地址1.1arr1.2sizeof(arr)1.3&arr2.指针访问数组3.一维数组传参本质4.指针数组5.二级指针希望读者们多多三连支持小编会继续更新你们的鼓励就是我前进的动力!1.数组名与地址有这么一个数组,数组名为arrintarr[10]={1,2,3,4,5,6,7,8,9}int......
  • “山林不向四季起誓,荣枯随缘”——C语言(爱心+祝福语)代码分享
                    在数字的海洋中,代码是我们共舞的音符。它们跳跃、旋转,编织出一个个美丽的故事。        每一行代码,都像是精心挑选的词汇,构建起我们共同的语言。        在这个由0和1构成的世界,我们用逻辑与情感交织,创造出无数可能。  ......
  • goto语句(C语言)
    一.C语言中的goto语句概念在C语言中,goto是一条无条件跳转语句,它允许程序控制流跳转到同一函数内的某个特定标签处继续执行。使用goto语句时,需要在目标位置定义一个标签,标签由一个标识符后跟一个冒号(:)组成。goto语句的基本形式如下:gotolabel;随后的代码中,如果执行到goto语......
  • C语言顺序表(类似数组结构)
    ////CreatedbyAdministratoron2024/10/25.//顺序表结构//#ifndefORDER_TABLE_H#defineORDER_TABLE_H/*声明顺序表的长度*/#defineSize5/***声明顺序表结构体*/typedefstructTable{int*head;intlength;intsize;}table;/***......
  • C语言链表
    ////CreatedbyAdministratoron2024/10/29.//#ifndefLINK_H#defineLINK_H/***链表的结构体*/typedefstructLink{intelement;structLink*next;}link;#endif//LINK_H////链表//CreatedbyAdministratoron2024/10/28.//#pragmao......
  • C语言链表反转的四种方法
    ////CreatedbyAdministratoron2024/10/29.//#ifndefLINK_H#defineLINK_H/***链表的结构体*/typedefstructLink{intelement;structLink*next;}link;#endif//LINK_H////四种链表反转算法//CreatedbyAdministratoron2024/10/29.......
  • L1-015 c语言跟奥巴马一起画方块
    美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正方形。现在你也跟他一起画吧!输入格式:输入在一行中给出正方形边长N(3≤N≤2......
  • 2个月搞定计算机二级C语言——真题(6)解析
    1.前言本篇我们讲解2个月搞定计算机二级C语言——真题62.程序填空题2.1题目要求2.2提供的代码#include<stdio.h>unsignedlongfun(unsignedlongn){unsignedlongx=0;intt;while(n){t=n%10;/**********fou......
  • 【C语言】预处理(预编译)详解(下)(C语言最终篇)
    文章目录一、#和##1.#运算符2.##运算符二、预处理指令#undef三、条件编译1.单分支条件编译2.多分支条件编译3.判断符号是否被定义4.判断符号是否没有被定义四、头文件的包含1.库头文件的包含2.本地头文件的包含3.嵌套包含头文件的解决方法使用条件编译指令使用预处理......