尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
线性表的应用
链式有序表的合并旋转链表分隔链表翻转链表#includeiostream#includecstdlibusing namespace std;typedef int ElemType;typedef int Status;typedef struct LNode{ElemType data;struct LNode *next;int val;}LNode,*LinkList;//创建链表void CreateList_H(LinkList L,int n){Lnew LNode;L-nextNULL;cout请输入nendl;for(int i0;in;i){LNode*p new LNode;cinp-data;p-nextL-next;L-nextp;}}//输出链表void PrintList (LinkList L) {LNode *p;pL-next;while(p!NULL) {coutp-data ;pp-next;}coutendl;}//链式有序表的合并void MergeList_L(LinkList La,LinkList Lb,LinkList Lc){LNode *paLa-next;LNode *pbLb-next;LcLa;LNode *pcLc;while(papb){if(pa-datapb-data){pc-nextpa;pcpa;papa-next;}else{pc-nextpb;pcpb;pbpb-next;}}pc-nextpa?pa:pb;delete Lb;}//旋转链表struct LNode* rotateRight(struct LNode* head,int k){if(k0||headNULL||head-nextNULL)return head;int n1;struct LNode* tailhead;while(tail-next !NULL){tailtail-next;n;}int movenumk%n;if(movenum0)return head;tail-nexthead;int addnumn-movenum;while(addnum--)tailtail-next;struct LNode* newheadtail-next;tail-nextNULL;return newhead;}//分隔链表struct LNode*partition(struct LNode*head,int x){struct LNode*small(struct LNode*)malloc(sizeof(struct LNode ));struct LNode*large(struct LNode*)malloc(sizeof(struct LNode ));struct LNode*pahead;struct LNode*pbsmall;struct LNode*pclarge;while(pa!NULL){if(pa-val x){pb-nextpa;pbpb-next;}else{pc-nextpa;pcpc-next;}papa-next;}pc-nextNULL;pb-nextlarge-next;struct LNode* newhead small-next;return newhead;}//翻转链表struct LNode* reverseKGroup(struct LNode* head,int k){int xk;int n0;struct LNode* s (struct LNode*)malloc(sizeof(struct LNode));struct LNode* curs;struct LNode* slowhead;struct LNode* fastNULL;struct LNode* prevNULL;while(slow){n;slowslow-next;}slowhead;n/k;for(int i0;in;i){while(x){fastslow-next;slow-nextprev;prevslow;slowfast;x--;}cur-nextprev;while(cur-next)curcur-next;prevNULL;xk;}cur-nextslow;struct LNode* newheads-next;return newhead;}int main(){cout --- 测试 1: 合并有序链表 --- endl;LinkList La, Lb, Lc;cout 创建链表 A (需有序): ;CreateList_H(La, 3);cout 创建链表 B (需有序): ;CreateList_H(Lb, 3);MergeList_L(La, Lb, Lc);cout 合并结果: ;PrintList(Lc);cout endl;// --- 测试 2: 旋转链表 ---cout --- 测试 2: 旋转链表 --- endl;LinkList L_rotate;cout 创建用于旋转的链表: ;CreateList_H(L_rotate, 5);int k_rot 2;cout 向右旋转 k_rot 位后的结果: ;LNode* res_rot rotateRight(L_rotate-next, k_rot);// 临时打印LNode* temp res_rot;while(temp) { cout temp-data ; temp temp-next; }cout endl;cout endl;// --- 测试 3: 分隔链表 ---cout --- 测试 3: 分隔链表 (以 3 为界) --- endl;LinkList L_part;cout 创建用于分隔的链表: ;CreateList_H(L_part, 5); // 例如输入 3 1 4 1 5LNode* res_part partition(L_part-next, 3);temp res_part;while(temp) { cout temp-data ; temp temp-next; }cout endl;cout endl;// --- 测试 4: K 个一组翻转 ---cout --- 测试 4: K 个一组翻转 (k2) --- endl;LinkList L_rev;cout 创建用于翻转的链表: ;CreateList_H(L_rev, 5); // 例如输入 1 2 3 4 5LNode* res_rev reverseKGroup(L_rev-next, 2);temp res_rev;while(temp) { cout temp-data ; temp temp-next; }cout endl;return 0;}
RELATED

相关推荐

ADVANCED ENERGY AEIL00102纹波测试仪

ADVANCED ENERGY AEIL00102纹波测试仪

ADVANCED ENERGY AEIL00102 纹波测试仪产品特点ADVANCED ENERGY AEIL00102 是Advanced Energy生产的一款纹波测试仪,主要用于半导体设备电源系统的纹波与噪声测量,评估直流电源输出电压的纯净度。该型号主要产品特点:专用于电源纹波及噪声的精…

📅 2026/10/6 16:11:16
第一章Netty,NIO 多线程优化分析

第一章Netty,NIO 多线程优化分析

在 Java NIO 编程中,单线程模型虽然简单,但在高并发场景下存在明显的性能瓶颈。为了充分利用多核 CPU 的能力并提高系统的吞吐量与响应速度,通常采用‌多线程优化方案‌,即经典的 ‌Reactor 多线程模型‌(常被称为 Bos…

📅 2026/10/6 16:11:36
虚幻引擎UE5.8 MCP设置指南

虚幻引擎UE5.8 MCP设置指南

核心结论:先把链路打通,再谈自动化。AI 在 UE 里最有价值的不是聊天,而是生成、检查和执行重复任务。推荐链路:UE / UEFN -> 插件 -> 终端 -> MCP -> AI 工具1. 先说结论如果你是 UE 用户,AI 接入最值得做…

📅 2026/10/3 12:06:55
MORE NEWS

更多资讯

📰

Selection DAG

DAG 是什么? DAG Directed Acyclic Graph(有向无环图) 在编译器后端,Selection DAG 是一种中间表示,用来描述单个基本块内的计算逻辑。要素含义节点(Node)一个操作(add、mul、load、…

📰

让我看看你是谁:Trae CN、TRAE-AI编程、TraeCode、TraeWork、TRAE SOLO CN、Trae APP

Trae现在让我越来越懵了,我刚开始从官网下载的时候,它叫Trae,安装完叫Trae CN,应用商店叫TRAE-AI编程,现在又推出了TraeWork,我当时安装后变成了TRAE SOLO CN,然而声名在外的却是TraeCode。哦&a…

📰

ABAP CDS 注解传播机制详解,从继承、覆盖到截断与稳定性控制

在一个典型的 SAP S/4HANA 数据模型里,我们很少只写一层 CDS View。更常见的结构,是数据库表或者最底层 CDS Entity 提供原始数据,中间的 Interface View 负责语义建模,再往上由 Consumption View、Projection View 或 RAP Service 暴露给 Fiori、OData 或其他消费者。 当…

📰

SAP ABAP CDS Metadata Extensions 深度解析,从 Annotation 解耦到 Clean Core 的元数据扩展机制

一个 CDS View 刚开始开发时,源代码通常还很清爽。数据源、Association、字段列表,再加少量 Annotation,整个模型的职责一眼就能看明白。 但当这个 CDS Entity 开始被 SAP Fiori Elements、OData、分析应用以及各种消费端使用之后,情况很快就会发生变化。 一个字段需要显…

📰

C语言中借助char数组对字符串的简易操作

概述 本文以字符反转,字符统计,大小写转换为例,借助char数组对字符类型数据进行处理,手把手教授有关技巧。 核心概念 char类型数据:用来表示单个字符,但它的本质是小整数类型。 ASC码:是一种字符…

📰

证书链不完整修复方法(进阶篇):原理、方案与优化

本文深入探讨证书链不完整修复方法(进阶篇),涵盖背景分析、原理剖析、实战步骤、配置示例、优化建议和避坑指南。随着业务规模增长,证书链不完整修复方法(进阶篇)的重要性日益凸显。无论你是刚入门还是资深…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬