【王道数据结构】【chapter2线性表】【P44t17~t20】【统考真题】

目录

2009年统考

2012年统考

2015年统考

2019年统考


2009年统考

#include <iostream>

typedef  struct node{
    int data;
    node* next;
}node,*list;

list Init()
{
    list head=(list) malloc(sizeof (node));
    head->next= nullptr;
    head->data=-1;
    return head;
}

list Buynewnode(int x)
{
    list tmp=new node;
    tmp->next= nullptr;
    tmp->data=x;
    return tmp;
}

int find_last(list head,int x)
{
    list p1=head,p2=head;
    for(int i=0;i<x;i++)
    {
        if(p2->next) p2=p2->next;
        else {
            return 0;
        }
    }

    while(p2)
    {
        p2=p2->next;
        p1=p1->next;
    }
    printf("%3d",p1->data);
    return 1;
}

int main() {
    list head=Init();
    list pointer=head;
    for(int i=0;i<10;i++)
    {
        pointer=pointer->next= Buynewnode(i+1);
    }
    for(pointer=head->next;pointer!= nullptr;pointer=pointer->next) {
        printf("%3d",pointer->data);
    }
    puts("");


    for(int i=1;i<=13;i++)
    {
        int record=find_last(head,i);
        if(record) printf(" success ");
        else printf(" fail  ");
    }
    return 0;
}

2012年统考

#include <iostream>

typedef  struct node{
    char data;
    node* next;
}node,*list;

list Init()
{
    list head=(list) malloc(sizeof (node));
    head->next= nullptr;
    head->data='#';
    return head;
}

list Buynewnode(char x)
{
    list tmp=new node;
    tmp->next= nullptr;
    tmp->data=x;
    return tmp;
}

list com_start(list h1,list h2)
{
    list p1=h1,list,p2=h2;
    int n1=0,n2=0;
    while(p1) p1=p1->next,n1++;
    while(p2) p2=p2->next,n2++;
    while(n1>n2) h1=h1->next,n1--;
    while(n1<n2) h2=h2->next,n2--;

    while(h1)
    {
        if(h1==h2) return h1;
        else{
            h1=h1->next;
            h2=h2->next;
        }
    }
    return nullptr;
}
int main() {
    list head=Init();
    list pointer=head,com= nullptr;
    char a[9]="loading";
    char b[3]="be";
    for(int i=0;i<8;i++)
    {
        pointer=pointer->next= Buynewnode(a[i]);
        if(pointer->data=='i') com=pointer;
    }
    for(pointer=head->next;pointer!= nullptr;pointer=pointer->next) {
        printf("%3c",pointer->data);
    }
    puts("");

    list head2=Init();
    list pointer2=head2;
    for(int i=0;i<2;i++)
    {
        pointer2=pointer2->next= Buynewnode(b[i]);
    }
    pointer2->next=com;

    for(pointer=head2->next;pointer!= nullptr;pointer=pointer->next) {
        printf("%3c",pointer->data);
    }
    puts("");

    list coml= com_start(head,head2);
    for(pointer=com;pointer!= nullptr;pointer=pointer->next)
    {
        printf("%3c",pointer->data);
    }
    puts("");
    return 0;
}

2015年统考

#include <iostream>
#include<time.h>
#include <stdlib.h>
#include<memory.h>
typedef  struct node{
    int data;
    node* next;
}node,*list;

list Init()
{
    list head=(list) malloc(sizeof (node));
    head->next= nullptr;
    head->data=-1;
    return head;
}

list Buynewnode(int x)
{
    list tmp=new node;
    tmp->next= nullptr;
    tmp->data=x;
    return tmp;
}

void del_abs_com(list head,int n)
{
    int *record= (int *) malloc(sizeof (int)*(n+1));
    memset(record,0,sizeof (int)*(n+1));
    list pointer=head;
    while(pointer->next)
    {
        if(record[abs(pointer->next->data)]){
            list tmp=pointer->next;
            pointer->next=pointer->next->next;
            free(tmp);
        }else{
            record[abs(pointer->next->data)]++;
            pointer=pointer->next;
        }
    }
}
int main() {
    list head=Init();
    list pointer=head;
    srand(time(nullptr));
    for(int i=0;i<10;i++)
    {
        pointer=pointer->next= Buynewnode(rand()%10-5);
    }
    for(pointer=head->next;pointer!= nullptr;pointer=pointer->next) {
        printf("%5d",pointer->data);
    }
    puts("");

    del_abs_com(head,5);
    for(pointer=head->next;pointer!= nullptr;pointer=pointer->next) {
        printf("%5d",pointer->data);
    }
    puts("");
    return 0;
}

2019年统考

#include <iostream>

typedef  struct node{
    int data;
    struct node* next;
}node,*list;

list Init()
{
    list head=(list) malloc(sizeof (node));
    head->next= nullptr;
    head->data=-1;
    return head;
}

list Buynewnode(int x)
{
    list tmp=new node;
    tmp->next= nullptr;
    tmp->data=x;
    return tmp;
}

void print(list head)
{
    list pointer=head;
    for(pointer=head->next;pointer!= nullptr;pointer=pointer->next) {
        printf("%3d",pointer->data);
    }
    puts("");
}
void split_line(list head)
{
    list p1=head,p2=head;
    int n=-1;//头结点不算在计算的个数内,如果长度小于3就直接返回
    while(p2)
    {
        p1=p1->next;
        p2=p2->next,n++;
        if(p2) p2=p2->next,n++;
        else  break;
    }
    if(n<=2) return;
    p2=p1->next;
    list tmp=p2->next;
    p2->next= nullptr,p1->next= nullptr;
    while(tmp)
    {
        list pre=tmp->next;
        tmp->next=p2;
        p2=tmp;
        tmp=pre;
    }
    p1=head->next;
    while(p2)
    {
        list tmp=p1->next;
        p1=p1->next=p2;
        p2=p2->next;
        p1=p1->next=tmp;
    }
}

list create_list(int x)
{
    list head=Init();
    list pointer=head;
    for(int i=0;i<x;i++)
    {
        pointer=pointer->next= Buynewnode(i+1);
    }
    return head;
}
void  test()
{
    for(int i=0;i<10;i++)
    {
        list head=create_list(i);
        print(head);
        split_line(head);
        print(head);
        puts("");
    }
}
int main() {
    test();
    return 0;
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/354027.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

QA-GNN: 使用语言模型和知识图谱的推理问答

Abstract 使用预训练语言模型&#xff08;LMs&#xff09;和知识图谱&#xff08;KGs&#xff09;的知识回答问题的问题涉及两个挑战&#xff1a;在给定的问答上下文&#xff08;问题和答案选择&#xff09;中&#xff0c;方法需要&#xff08;i&#xff09;从大型知识图谱中识…

C++:auto 关键字 范围for

目录 auto 关键字&#xff1a; 起源&#xff1a; auto的使用细则&#xff1a; auto不能推导的场景&#xff1a; 范围for&#xff1a; 范围for的使用条件&#xff1a; C的空指针&#xff1a; 注意&#xff1a; auto 关键字&#xff1a; 起源&#xff1a; 随着程序越…

蜡烛图采用PictureBox控件绘制是实现量化的第一步

股票软件中的蜡烛图是非常重要的一个东西&#xff0c;这里用VB6.0自带的Picture1控件的Line方法就可以实现绘制。 关于PictureBox 中的line 用法 msdn 上的说明为如下所示 object.Line [Step] (x1, y1) [Step] - (x2, y2), [color], [B][F] 然…

【Axure教程0基础入门】02高保真基础

02高保真基础 1.高保真原型的要素 &#xff08;1&#xff09;静态高保真原型图 尺寸&#xff1a;严格按照截图比例&#xff0c;参考线 色彩&#xff1a;使用吸取颜色&#xff0c;注意渐变色 贴图&#xff1a;矢量图/位图&#xff0c;截取&#xff0c;覆盖等 &#xff08;…

【Java Kubernates】Java调用kubernates提交Yaml到SparkOperator

背景 目前查询框架使用的是trino&#xff0c;但是trino也有其局限性&#xff0c;需要准备一个备用的查询框架。考虑使用spark&#xff0c;spark operator也已经部署到k8s&#xff0c;现在需要定向提交spark sql到k8s的sparkoperator上&#xff0c;使用k8s资源执行sql。 对比 …

【linux】查看进程和子进程

在Linux系统中&#xff0c;可以使用多个命令来查看进程及其子进程。以下是一些常用的方法&#xff1a; 1. ps 命令 ps 命令用于显示当前进程的状态。可以结合不同的选项来查看进程及其子进程。 查看进程树&#xff1a; ps -auxf - -a 显示所有进程。 - -u 显示进程的用户/所…

2024年最适合开Palworld的游戏服务器

如果要开Palworld服务器&#xff0c;当然要选大内存的服务器 在雨云&#xff0c;你不仅可以 链接&#xff1a;雨云 - 新一代云服务提供商欢迎来到以用户体验为优先的雨云&#xff0c;我们提供稳定高速的国际虚拟主机&#xff0c;云服务器产品&#xff0c;强大的功能&#xff…

MySQL中使用percona-xtrabackup工具 三种备份及恢复 (超详细教程)

CSDN 成就一亿技术人&#xff01; 今天讲讲再MySQL中使用percona-xtrabackup这个开源工具来实现在线备份。 CSDN 成就一亿技术人&#xff01; 目录 介绍percona-xtrabackup 安装Percona 完整备份 备份流程 恢复流程 1.模拟文件损坏 2.滚回日志 3.恢复数据目录 4.授权…

复现五 LMDeploy 的量化和部署

0基础知识 一步一步跟着教程复现第五&#xff1a;LMDeploy 的量化和部署 复现一&#xff1a; 轻松玩转书生浦语大模型internlm-demo 配置验证过程_ssh -cng -l 7860:127.0.0.1:6006 rootssh.intern-ai-CSDN博客文章浏览阅读827次&#xff0c;点赞17次&#xff0c;收藏24次。…

BTC的数据结构Merkle Tree和Hash pointer

比特币是一种基于区块链技术的加密数字货币&#xff0c;其底层数据结构被设计为分布式&#xff0c;去中心化的。它的核心数据结构是一个链式的区块&#xff0c;每个区块都包含了多笔交易记录和一个散列值。 比特币的底层数据结构使用了两个关键概念&#xff1a;hash pointer和…

01 Redis的特性+下载安装启动+Redis自动启动+客户端连接

1.1 NoSQL NoSQL&#xff08;“non-relational”&#xff0c; “Not Only SQL”&#xff09;&#xff0c;泛指非关系型的数据库。 键值存储数据库 &#xff1a; 就像 Map 一样的 key-value 对。如Redis文档数据库 &#xff1a; NoSQL 与关系型数据的结合&#xff0c;最像关系…

AP3464 车充 适配器IC 4-30V 2.4A 同步降压驱动器

AP3464 是一款支持宽电压输入的同步降压电源管理芯片&#xff0c;输入电压 4-30V 范围内可实现2.4A 的连续电流输出。通过调节 FB 端口的分压电阻&#xff0c;设定输出 1.8V 到 28V 的稳定电压。AP3464 具有优秀的恒压/恒流(CC/CV)特性。AP3464 采用电流模式的环路控制原理&…

Spring5深入浅出篇:Spring中ioc(控制反转)与DI(依赖注入)

Spring5深入浅出篇:Spring中ioc(控制反转)与DI(依赖注入) 反转(转移)控制(IOC Inverse of Control) 控制&#xff1a;对于成员变量赋值的控制权 反转控制&#xff1a;把对于成员变量赋值的控制权&#xff0c;从代码中反转(转移)到Spring⼯⼚和配置⽂件中完成好处&#xff1a;…

基于YOLOv8的摄像头吸烟行为检测系统(Python源码+Pyqt6界面+数据集)

&#x1f4a1;&#x1f4a1;&#x1f4a1;本文主要内容:详细介绍了摄像头下吸烟行为检测系统&#xff0c;在介绍算法原理的同时&#xff0c;给出Pytorch的源码、训练数据集以及PyQt6的UI界面。在界面中可以选择各种图片、视频进行检测识别&#xff0c;可进行置信度、Iou阈值设定…

Pandas.Series.mode() 众数 详解 含代码 含测试数据集 随Pandas版本持续更新

关于Pandas版本&#xff1a; 本文基于 pandas2.2.0 编写。 关于本文内容更新&#xff1a; 随着pandas的stable版本更迭&#xff0c;本文持续更新&#xff0c;不断完善补充。 传送门&#xff1a; Pandas API参考目录 传送门&#xff1a; Pandas 版本更新及新特性 传送门&…

LeetCode---122双周赛

题目列表 3010. 将数组分成最小总代价的子数组 I 3011. 判断一个数组是否可以变为有序 3012. 通过操作使数组长度最小 3013. 将数组分成最小总代价的子数组 II 一、将数组分成最小总代价的子数组I 这道题纯纯阅读理解题&#xff0c;关键在于理解题意。注意&#xff1a;第一…

Go语言基础之单元测试

1.go test工具 Go语言中的测试依赖go test命令。编写测试代码和编写普通的Go代码过程是类似的&#xff0c;并不需要学习新的语法、规则或工具。 go test命令是一个按照一定约定和组织的测试代码的驱动程序。在包目录内&#xff0c;所有以_test.go为后缀名的源代码文件都是go …

【时间安排】

最近刚刚回到家&#xff0c;到家就是会有各种事情干扰&#xff0c;心里变乱人变懒的&#xff0c;而要做的事情也要继续&#xff0c;写论文&#xff0c;改简历&#xff0c;学习新技能。。 明天后天两天写论文改简历 周一&#xff08;早上去城市书房&#xff0c;可能吵一点戴个耳…

Java 的反射学习总结

一、什么是反射&#xff1f; 反射是指在运行时动态地获取、检查和修改类或对象的信息的能力&#xff0c;不需要在编译时知道类的具体细节。 二、如何获取类对象&#xff1f; 三、如何通过类对象来创建类的对象&#xff1f; 四、类对象获取类构造器的方式 通过获取私有构造器创…

招聘网站简单爬虫_24.1.26

完整程序传送门 24.1.26 前些天接了一个大两届的师兄的小活&#xff0c;做了一下爬boss直聘岗位信息的程序&#xff0c;在这里记录一下 程序框架 定义一个名为paQu的接口函数&#xff0c;用于检查窗口的输入&#xff0c;它接受一个参数self&#xff0c;获取self对象的a属性&am…