当前位置: 首页 > news >正文

C语言——分割单向链表

本文的内容是使用C语言分割单向链表,给出一个链表和一个值,要求链表中小于给定值的节点全都位于大于或等于给定值的节点之前,打印原始链表的所有元素和经此操作之后链表的所有元素。
分析:本题只是单向链表的分割,不涉及排序,因此把小于给定值的节点连成一个链表,再把大于等于给定值的节点连成一个链表,然后把两个链表再链接到一起即可形成题目要求的链表。
注意:要记住两个链表各自的头节点,不然最后没办法连接到一起;存放大值的链表最后要指向NULL;两个链表的头节点要动态申请内存,用以保存分割链表后的两个头节点。
在这里插入图片描述
完整的源代码如下。

#include <stdio.h> 
#include <stdlib.h>typedef struct linklist
{int data;struct linklist *next;
}Linklist;Linklist *CreateLinkList()
{int n = 0;Linklist *head,*p,*q;head = NULL;p = (Linklist *)malloc(sizeof(Linklist));printf("input data %d (input 65535 end):",n+1);scanf("%d",&p->data);if(p->data == 65535)return head;while(1){n++;if(n==1)head = p;elseq->next = p;q = p;p = (Linklist *)malloc(sizeof(Linklist));printf("input data %d (input 65535 end):",n+1);scanf("%d",&p->data);if(p->data == 65535)break;}q->next = NULL;return head;
}Linklist *divide(Linklist* head,int x)
{Linklist *p = (Linklist*)malloc(sizeof(Linklist));Linklist *q = (Linklist*)malloc(sizeof(Linklist));Linklist *headp;Linklist *headq;headp = p;headq = q;while(head != NULL){if(head->data < x){p->next = head;p = p->next;}else{q->next = head;q = q->next;}head = head->next;}p->next = headq->next;q->next = NULL;return headp->next;
}void print_linklist(Linklist *head)
{Linklist *p;p = head;if(head != NULL){do{printf("%d ",p->data);p = p->next;}while(p != NULL);printf("\n");}elseprintf("The link list is empty!\n");
}void main()
{Linklist *head;head = CreateLinkList();printf("原链表序列:");print_linklist(head);head = divide(head,10);printf("分割后链表序列:");print_linklist(head);
}

上面程序的结果如下图所示。
在这里插入图片描述
根据上面的运行结果可以看到,代码满足题目的要求。

相关文章:

C语言——分割单向链表

本文的内容是使用C语言分割单向链表&#xff0c;给出一个链表和一个值&#xff0c;要求链表中小于给定值的节点全都位于大于或等于给定值的节点之前&#xff0c;打印原始链表的所有元素和经此操作之后链表的所有元素。 分析&#xff1a;本题只是单向链表的分割&#xff0c;不涉…...

台式电脑的IP地址在哪里?解密台式电脑网络连接的秘密!

​ 如今智能手机和便携式笔记本电脑盛行的时代&#xff0c;台式电脑似乎逐渐被人们所忽视。然而&#xff0c;对于需要高性能和大容量存储的用户来说&#xff0c;台式电脑依然是最好的选择。而作为一款能够连接网络的设备&#xff0c;台式电脑也有自己独特的IP地址。下面虎观代理…...

设计模式案例 (三)

文章目录 系列文章目录前言一、单例模式懒汉模式case 包饿汉模式case 包懒汉模式枷锁case 包 系列文章目录 第一章 设计模式案例 (一) 第二章 设计模式案例 &#xff08;二) 第三章 设计模式案例 &#xff08;二) 文章目录 系列文章目录前言一、单例模式懒汉模式case 包饿汉模…...

JZ22:链表中倒数第k个结点

JZ22&#xff1a;链表中倒数第k个结点 题目描述&#xff1a; 输入一个链表&#xff0c;输出该链表中倒数第k个结点。 示例1 输入&#xff1a; 1,{1,2,3,4,5} 返回值&#xff1a; {5} 分析&#xff1a; 快慢指针思想&#xff1a; 需要两个指针&#xff0c;快指针fast&…...

python的高性能web应用的开发与测试实验

引言 python语言一直以开发效率高著称&#xff0c;被广泛地应用于自动化领域&#xff1a; 测试自动化运维自动化构建发布自动化 但是因为其也具有如下两个特征&#xff1a; 解释型语言GIL全局解释器锁 前者导致其性能天然就被编译型语言在性能上落后了许多。而后者则在多核…...

除了http还有哪些通信协议?

除了HTTP协议外&#xff0c;还存在许多其他通信协议。以下是一些常见的通信协议&#xff1a; 1&#xff1a;HTTPS&#xff1a;HTTPS&#xff08;HTTP Secure&#xff09;是HTTP的安全版本&#xff0c;通过使用SSL&#xff08;Secure Sockets Layer&#xff09;或TLS&#xff0…...

基于遗传算法的图像重建

图像重建涉及从图像的有限信息中恢复出可能丢失或受损的信息。使用遗传算法进行图像重建的一般思路是调整某些参数或者操作&#xff0c;以使得图像的质量或者特定的性能指标最优化。 以下是一个简单的图像重建的遗传算法示例&#xff0c;以模拟重建一个被模糊的图像。 图像重…...

【Redis】Redis-Key的使用

上一篇&#xff1a; redis-server和redis-cli https://blog.csdn.net/m0_67930426/article/details/134361885?spm1001.2014.3001.5501 官网 命令 |雷迪斯 (redis.io) 设置key set name xxxxx 查看key keys * 再设置一个key并且查看 这里查看了两个key&#xff08;name a…...

为忙碌的软件工程师精心准备的编码面试准备材料,超过 100,000 人受益!

这是一个针对技术面试准备的手册。它收集了大量的面试问题和答案&#xff0c;涵盖了算法、系统设计、前端等主题&#xff0c;并且还在不断更新和完善中。 这个项目是“Tech Interview Handbook”&#xff0c;解决了求职者在技术面试中遇到的各种难题&#xff0c;帮助他们更好地…...

SpringCloud Alibaba(上):注册中心-nacos、负载均衡-ribbon、远程调用-feign

Nacos 概念&#xff1a;Nacos是阿里巴巴推出的一款新开源项目&#xff0c;它是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos致力于帮助用户发现、配置和管理微服务&#xff0c;它提供了一组简单易用的特性集&#xff0c;包括动态服务发现、服务配置…...

基于乌鸦算法优化概率神经网络PNN的分类预测 - 附代码

基于乌鸦算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于乌鸦算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于乌鸦优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要&#xff1a;针对PNN神经网络的光滑…...

Jenkins中强制停止停不下来的job

# Script console 执行脚本 Jenkins 的提供了 script console 的功能&#xff0c;允许你写一些脚本&#xff0c;来调度 Jenkins 执行一些任务。 我们就可以利用 script console 来强制停止 job 执行。 首先进入 Jenkins 的 script console 页面&#xff1a; script console 路…...

北邮22级信通院数电:Verilog-FPGA(9)第九周实验(1)实现带同步复位功能、采用上升沿触发的D触发器

北邮22信通一枚~ 跟随课程进度更新北邮信通院数字系统设计的笔记、代码和文章 持续关注作者 迎接数电实验学习~ 获取更多文章&#xff0c;请访问专栏&#xff1a; 北邮22级信通院数电实验_青山如墨雨如画的博客-CSDN博客 目录 一.顶层模块的书写 二.两种验证方法 2.1使用…...

go中的rune类型

go语言中 &#xff0c;rune其实是一种int32的数据类型的别名。 // rune is an alias for int32 and is equivalent to int32 in all ways. It is // used, by convention, to distinguish character values from integer values. type rune int32rune通常用于处理字符串中的单…...

C51--PC通过串口(中断)点亮LED

B4中的&#xff1a;REN允许 / 禁止串行接收控制位 REN 1为允许串行接收状态。 接收数据必须开启。所以SCON&#xff1a;0101 0000 &#xff1b;即0x50 如何知道数据已经接收 RI位&#xff1a;当收到数据后 RI 1&#xff08;由硬件置一&#xff09; 硬件置一后必须用软件…...

使用pixy计算群体遗传学统计量

1 数据过滤 过滤参数&#xff1a;过滤掉次等位基因频率&#xff08;minor allele frequency&#xff0c;MAF&#xff09;低于0.05、哈达-温伯格平衡&#xff08;Hardy– Weinberg equilibrium&#xff0c;HWE&#xff09;对应的P值低于1e-10或杂合率&#xff08;heterozygosit…...

第十九章总结:Java绘图

19.1&#xff1a;Java绘图类 19.2&#xff1a;绘制图形 package nineteentn; import java.awt.*; import javax.swing.*; public class DrawCircle extends JFrame { private final int OVAL_WIDTH 80; // 圆形的宽 private final int OVAL_HEIGHT 80; // 圆形的高…...

Mybatis-Plus条件构造器QueryWrapper

Mybatis-Plus条件构造器QueryWrapper 1、条件构造器关系介绍 介绍 &#xff1a; 上图绿色框为抽象类 蓝色框为正常类&#xff0c;可创建对象 黄色箭头指向为父子类关系&#xff0c;箭头指向为父类 wapper介绍 &#xff1a; Wrapper &#xff1a; 条件构造抽象类&#xff0…...

python解析wirshark抓包数据

因为工作需要&#xff0c;需要分析wirshark的抓包数据。数据有的是在比特位中。不方便查找。而lua语言又不愿意去学&#xff0c;所以用python解析后&#xff0c;输出日志。帮助分析.1.tcp分析 from dpkt.tcp import TCP from scapy.all import * from datetime import datetim…...

一个用于操作Excel文件的.NET开源库

推荐一个高性能、跨平台的操作Excel文件的.NET开源库。 01 项目简介 ClosedXML是一个.NET第三方开源库&#xff0c;支持读取、操作和写入Excel 2007 (.xlsx&#xff0c; .xlsm)文件&#xff0c;是基于OpenXML封装的&#xff0c;让开发人员无需了解OpenXML API底层API&#xf…...

OpenClaw版本升级指南:Qwen3-4B模型平滑迁移到v2.0

OpenClaw版本升级指南&#xff1a;Qwen3-4B模型平滑迁移到v2.0 1. 为什么需要这份升级指南 上周五晚上&#xff0c;当我准备将本地OpenClaw从v1.8升级到v2.0时&#xff0c;原本以为只需要简单执行npm update就能搞定。没想到这个看似常规的操作&#xff0c;却让我的Qwen3-4B模…...

2026届必备的五大AI辅助写作方案推荐榜单

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 在人工智能技术参与进来之后&#xff0c;学术论文写作在效率方面有了明显的大幅提升&#xf…...

AI读脸术如何对接API?Flask服务封装部署教程

AI读脸术如何对接API&#xff1f;Flask服务封装部署教程 1. 为什么需要把“读脸术”变成API&#xff1f; 你可能已经试过这个AI读脸术镜像&#xff1a;上传一张照片&#xff0c;几秒内就能看到人脸框、性别和年龄段标签&#xff0c;效果干净利落。但如果你正开发一个用户管理…...

Matterport3D数据集:从全景构建到三维理解的实践指南

1. Matterport3D数据集全景解析 第一次接触Matterport3D数据集时&#xff0c;我被它庞大的数据规模震撼到了。这个数据集包含了90个完整的建筑场景&#xff0c;由194,400张RGB-D图像组成&#xff0c;覆盖了10,800个全景视角。简单来说&#xff0c;它就像是用专业相机把整栋房子…...

使用Image - To - image条件生成对抗网络评估乳腺癌新辅助化疗反应的动态对比增强MRI血管渗透性映射

论文总结1、提出了一种基于条件生成对抗网络&#xff08;cGAN&#xff09;的新方法&#xff0c;用于将动态对比增强磁共振成像&#xff08;DCE MRI&#xff09;快速转换为药代动力学&#xff08;PK&#xff09;血管通透性参数图&#xff08;Ktrans&#xff09;&#xff0c;以早…...

【Java外部函数性能优化黄金法则】:20年JVM专家亲授JNI/FFM调优的7大致命误区与3步极速修复方案

第一章&#xff1a;Java外部函数优化的演进脉络与性能本质Java平台对外部函数调用&#xff08;Foreign Function & Memory API&#xff0c;即JEP 454/464/471/472&#xff09;的演进&#xff0c;标志着JVM从“纯Java世界”迈向系统级互操作的新纪元。其性能本质并非单纯降低…...

新手福音:用快马生成你的第一个c盘自动清理python脚本

今天想和大家分享一个特别实用的Python小工具——C盘自动清理脚本。作为一个刚接触编程的新手&#xff0c;我发现清理C盘空间是个常见需求&#xff0c;但手动操作既麻烦又容易误删重要文件。于是我用InsCode(快马)平台生成了一个简单实用的脚本&#xff0c;整个过程特别适合编程…...

Krita AI Diffusion图像引导适配器功能异常的深度解决方案

Krita AI Diffusion图像引导适配器功能异常的深度解决方案 【免费下载链接】krita-ai-diffusion Streamlined interface for generating images with AI in Krita. Inpaint and outpaint with optional text prompt, no tweaking required. 项目地址: https://gitcode.com/gh…...

COMSOL激光打孔形貌优化:不同入射角设置方法与模型注释解析

COMSOL 不同激光入射角打孔形貌设置方法 模型内容&#xff1a;不同激光入射角度的设置 优势&#xff1a;视频教学和模型注释清晰明了&#xff0c;各个情况都有涉及可参考性极强&#xff0c;可以修改&#xff0c;收敛性已调至最优&#xff0c;本案例可进行拓展应用服务&#xff…...

探索GetQzonehistory:永久保存QQ空间记忆的数字时光机

探索GetQzonehistory&#xff1a;永久保存QQ空间记忆的数字时光机 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 在数字时代&#xff0c;我们的记忆分散在各个社交平台&#xff0c;而Q…...