单链表的链表拆分

2023-10-27

1.定义三的指针变量*p*q*tp指向原链表的头结点head1,新建另一个头结点head2q指向head2t指向head1next结点,两个头结点的next都设为空。

2.按照条件分配t指向的结点,如果将这个结点连接到head1的链表中,(1)pnext指向t(2)pt都向后移,既p指向pnextt指向tnext(3)再让pnext为空。

//链表拆分
#include <iostream>
#include<stdlib.h>
using namespace std;
struct node
{
    int x;
    struct node *next;
};
//顺序建表
struct node *creatListShun(int lenth)
{
    struct node *head,*t,*p;
    int i;
    head=(struct node *)malloc(sizeof(struct node));
    head->next=NULL;
    t=head;
    for(i=0; i<lenth; i++)
    {
        p=(struct node *)malloc(sizeof(struct node));
        p->x=i;
        p->next=NULL;
        t->next=p;
        t=p;
    }
    return head;
}
struct node * chaifen(struct node *head1)
{
    struct node *p,*q,*t,*head2;
    t=head1->next;
    head1->next=NULL;
    head2=(struct node *)malloc(sizeof(struct node));
    head2->next=NULL;
    p=head1;
    q=head2;
    while(t)
    {
        if(t->x%2==0)
        {
            p->next=t;
            t=t->next;
            p=p->next;
            p->next=NULL;
        }
        else
        {
            q->next=t;
            t=t->next;
            q=q->next;
            q->next=NULL;
        }
    }
    return head2;
};
int main()
{
    struct node *head1,*t1,*head2,*t2;
    head1=creatListShun(10);//顺序建链表
    t1=head1->next;
    cout<<"顺序建链表 :";
    while(t1!=NULL)
    {
        cout<<t1->x<<" ";
        t1=t1->next;
    }
    cout<<endl;
    //链表拆分
    cout<<"链表拆分"<<endl;
    head2=chaifen(head1);
    t1=head1->next;
    while(t1)
    {
        cout<<t1->x<<" ";
        t1=t1->next;
    }
    cout<<endl;
    t2=head2->next;
    while(t2)
    {
        cout<<t2->x<<" ";
        t2=t2->next;
    }
    cout<<endl;
    return 0;
}


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

单链表的链表拆分 的相关文章

  • 在 LINQ 查询中返回不带时间的日期

    我正在编写一个查询 我想计算按日期联系我们的呼叫中心的次数 看起来很简单 但由于联系日期字段是日期时间字段 我得到了时间 因此当我按联系日期 时间 分组时 每个联系日期实例的计数为 1 所以 我想只按日期分组 而不按时间分组 下面是我用来查
  • 属性对象什么时候创建?

    由于属性实际上只是附加到程序集的元数据 这是否意味着属性对象仅根据请求创建 例如当您调用 GetCustomAttributes 时 或者它们是在创建对象时创建的 或者 前两个的组合 在由于 CLR 的属性扫描而创建对象时创建 从 CLR
  • 模板类的不明确多重继承

    我有一个真实的情况 可以总结为以下示例 template lt typename ListenerType gt struct Notifier void add listener ListenerType struct TimeListe
  • C++ 求二维数组每一行的最大值

    我已经设法用这个找到我的二维数组的每一行的最小值 void findLowest int A Cm int n int m int min A 0 0 for int i 0 i lt n i for int j 0 j lt m j if
  • FFMPEG Seeking 带来音频伪影

    我正在使用 ffmpeg 实现音频解码器 在读取音频甚至搜索已经可以工作时 我无法找到一种在搜索后清除缓冲区的方法 因此当应用程序在搜索后立即开始读取音频时 我没有任何工件 avcodec flush buffers似乎对内部缓冲区没有任何
  • fgets() 和 Ctrl+D,三次才能结束?

    I don t understand why I need press Ctrl D for three times to send the EOF In addition if I press Enter then it only too
  • 如何在我的应用程序中使用 Windows Key

    Like Windows Key E Opens a new Explorer Window And Windows Key R Displays the Run command 如何在应用程序的 KeyDown 事件中使用 Windows
  • 为什么 POSIX 允许在只读模式下超出现有文件结尾 (fseek) 进行搜索

    为什么寻找文件结尾很有用 为什么 POSIX 让我们像示例中那样在以只读方式打开的文件中进行查找 c http en cppreference com w c io fseek http en cppreference com w c io
  • 跨多个控件共享事件处理程序

    在我用 C 编写的 Windows 窗体应用程序中 我有一堆按钮 当用户的鼠标悬停在按钮上时 我希望按钮的边框发生变化 目前我有以下多个实例 每个按钮一个副本 private void btnStopServer MouseEnter ob
  • HttpClient 像浏览器一样请求

    当我通过 HttpClient 类调用网站 www livescore com 时 我总是收到错误 500 可能服务器阻止了来自 HttpClient 的请求 1 还有其他方法可以从网页获取html吗 2 如何设置标题来获取html内容 当
  • 在 ASP.Net Core 2.0 中导出到 Excel

    我曾经使用下面的代码在 ASP NET MVC 中将数据导出到 Excel Response AppendHeader content disposition attachment filename ExportedHtml xls Res
  • A* 之间的差异 pA = 新 A;和 A* pA = 新 A();

    在 C 中 以下两个动态对象创建之间的确切区别是什么 A pA new A A pA new A 我做了一些测试 但似乎在这两种情况下 都调用了默认构造函数 并且仅调用了它 我正在寻找性能方面的任何差异 Thanks If A是 POD 类
  • 编译的表达式树会泄漏吗?

    根据我的理解 JIT 代码在程序运行时永远不会从内存中释放 这是否意味着重复调用 Compile 表达式树上会泄漏内存吗 这意味着仅在静态构造函数中编译表达式树或以其他方式缓存它们 这可能不那么简单 正确的 他们可能是GCed Lambda
  • Windows 10 中 Qt 桌面应用程序的缩放不当

    我正在为 Windows 10 编写一个简单的 Qt Widgets Gui 应用程序 我使用的是 Qt 5 6 0 beta 版本 我遇到的问题是它根本无法缩放到我的 Surfacebook 的屏幕上 这有点难以判断 因为 SO 缩放了图
  • 网络参考共享类

    我用 Java 编写了一些 SOAP Web 服务 在 JBoss 5 1 上运行 其中两个共享一个类 AddressTO Web 服务在我的 ApplycationServer 上正确部署 一切都很顺利 直到我尝试在我的 C 客户端中使用
  • EPPlus Excel 更改单元格颜色

    我正在尝试将给定单元格的颜色设置为另一个单元格的颜色 该单元格已在模板中着色 但worksheet Cells row col Style Fill BackgroundColor似乎没有get财产 是否可以做到这一点 或者我是否必须在互联
  • 已过时 - OpenCV 的错误模式

    我正在使用 OpenCV 1 进行一些图像处理 并且对 cvSetErrMode 函数 它是 CxCore 的一部分 感到困惑 OpenCV 具有三种错误模式 叶 调用错误处理程序后 程序终止 Parent 程序没有终止 但错误处理程序被调
  • 如何在内存中存储分子?

    我想将分子存储在内存中 这些可以是简单的分子 Methane CH4 C H bond length 108 7 pm H H angle 109 degrees But also more complex molecules like p
  • GDK3/GTK3窗口更新的精确定时

    我有一个使用 GTK 用 C 语言编写的应用程序 尽管该语言对于这个问题可能并不重要 这个应用程序有全屏gtk window与单个gtk drawing area 对于绘图区域 我已经通过注册了一个刻度回调gtk widget add ti
  • 在 ASP.NET 中将事件冒泡为父级

    我已经说过 ASP NET 中的层次结构 page user control 1 user control 2 control 3 我想要做的是 当控件 3 它可以是任何类型的控件 我一般都想这样做 让用户用它做一些触发回发的事情时 它会向

随机推荐

  • 总结ctf中 MD5 绕过的一些思路

    总结ctf中 MD5 绕过的一些思路 1 常规的0e绕过 2 数组绕过 3 强类型绕过 4 a md5 a 5 md5 与SQL注入 a b md5 a md5 b sha1 a sha1 b 1 常规的0e绕过 QNKCDZO 24061
  • mapbox 在 vue2 中的使用

    一 Mapbox 在 vue 中的使用 安装 mapbox mapbox gl geocoder npm install save mapbox mapbox gl geocoder 安装 mapbox mapbox gl language
  • (三)原生JavaScript----Ajax的Get请求和Post请求

    三 原生JavaScript使用Ajax的步骤 Router js中有get post接口 一 定义一个ajax函数 const ajax function 二 获取节点值 Ajax函数中 let username document get
  • golang时间-时间戳的获取-转换-计算

    一 获取时间 1 1 获取当前时间 代码实现 package main import fmt time func main currentTime time Now 当前时间 currentYear time Now Year 当前年 cu
  • 浅谈Spring

    Spring是一个轻量级的控制反转 IoC 和面向切面 AOP 的容器 框架 一 什么是IOC IoC Inversion of Control 翻译成中 是 控制反转 的意思 也就是说 Spring 是 个 控制反转 的容器 1 1控制反
  • python可视化学习七(边缘箱型图)

    边缘箱线图 箱图是用来显示变量分布的统计图 直方图更看重与在取值范围内的分布 而箱线图更看重于观察变量间的重要分割点 箱线图能够显示数据分布的关键数据的节点 常用来作为查找异常值的方式 1当直方图的分布越接近正态分布 箱线图就会越对称 2直
  • 栈区,堆区,全局区,文字常量区,程序代码区 详解

    原博地址 http blog csdn net yitian20000 article details 6358837 感觉这篇文章讲的很清晰 很详细 一 预备知识 程序的内存分配 一个由C C 编译的程序占用的内存分为以下几个部分 1 栈
  • typora用户指南

    Typora 一直是我认为桌面端笔记应用应有的终极形态 用我之前 一篇文章 中的话来说就是 它的功能之强大 设计之冷静 体验之美妙 理念之先进 我认为值得所有笔记应用厂商学习 但一件很尴尬的事情是 由于它极简的设计理念 有许多使用者并没能完
  • liunx ftp 421 passive mode refused([linux]配置 vsftp 启用被动模式(passive mode)解决客户端“no route to host“错误)

    系统 CentOS 修改 vsftpd conf 启用被动模式 指定端口 pasv min port 12000 pasv max port 12199 pasv enable YES 配置防火墙 iptables 允许端口访问 iptab
  • vue2项目(二)---Header、Footer

    非路由组件 Header Footer 首页 搜索页 路由组件 Home首页 Search搜索 login登录 无Footer register注册 无Footer 开发项目的步骤 1 书写静态页面 HTML CSS 2 拆分组件 路由 非
  • 华为机试:敏感字段加密

    题目来源 华为机试 敏感字段加密 题目描述 题目解析 要求 删除命令字前后多余的下换线 对指定索引的敏感字段进行加密 替换为 无法找到指定索引的命令字 输出字符串ERROR 分析 如果遇到大小写字母 数字 这一定是密码 可能需要替换成6个
  • Qt 使用共享库

    创建动态库工程 选择模块需要注意的是如果想要将GUI封装成一个动态库 那么必须要要将QtWidgets选中 不然是不能生成ui xxx h头文件的 接下来直接都下一步直到创建好就好 创建好之后会有两个头文件 一个 cpp文件 Global
  • 数据清洗遇到的问题思考

    因为本次任务是基础的数据预处理和数据集划分 所以本次讨论不涉及特征工程和模型相关的 问题一 缺失数据 有很多人问到了缺失值处理的问题 统一汇总提问 为什么需要处理缺失值 确实值会影响模型训练 某些特征值确实 有可能使得该条样本完全是负样本
  • VM6289:1 http://xxx.cn 不在以下 request 合法域名列表中,请参考文档:https://developers.weixin.qq.com/miniprogra

    本地测试时 点击微信开发工具右上角详情 然后勾选上 不校验合法域名
  • SpringSecurity学习笔记(十二)异常以及权限管理使用

    参考视频 异常 SS中的异常主要分为两种 AuthenticationException authenticationException 认证异常 AccessDeniedException accessDeniedException 授权
  • Django—模板层

    目录 常用语法 变量 模板语法之注释 模板语法之过滤器 常见的django过滤器 模板语法之标签 自定义过滤器 标签和inclusion tag 自定义过滤器 模板的继承 常用语法 变量相关 逻辑相关 模板语法传值支持python的所有基本
  • C#中把中文转换成对应的拼音码

    using System using System Data using System Configuration using System Web using System Web Security using System Web UI
  • ChatGPT生成的介绍Easy发票查验软件的文案!说到我的心坎里了!

    该软件是一款专为企业用户设计的发票处理工具 它拥有多种功能 包括发票图片矫正 发票识别 发票重命名 发票查验和发票打印等 可极大地提高企业的发票处理效率 首先 该软件的发票图片矫正功能可以自动调整图片的角度和大小 确保图片能够清晰地被识别
  • opencv与C++实现最大类间方差法(OTSU)进行图像二值化

    直接上代码 使用最大类间方差法进行二值化的函数 void threshold otsu Mat mat Mat mat thresh mat为输入图像 mat thresh为二值化后的输出图像 求出图像的最大和最小像素值 确定阈值区间 do
  • 单链表的链表拆分

    1 定义三的指针变量 p q t p指向原链表的头结点head1 新建另一个头结点head2 q指向head2 t指向head1的next结点 两个头结点的next都设为空 2 按照条件分配t指向的结点 如果将这个结点连接到head1的链表