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

news2025/1/19 8:27:58

目录

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;
}

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

机器学习 | 如何使用 Seaborn 提升数据分析效率

Seaborn和Matplotlib都是Python可视化库&#xff0c;它们都可以用于创建各种类型的图表。但是&#xff0c;Seaborn 和Matplotlib在概念和设计上有一些不同。 Matplotlib虽然已经是比较优秀的绘图库了&#xff0c;但是它有个今人头疼的问题&#xff0c;那就是API使用过于复杂&am…

人工智能系列:机器的进化(下)

大家好&#xff0c;接着上文的图灵机&#xff0c;继续介绍机器的进化。 1. 第一台计算机 世界上第一台电子计算机是ENIAC&#xff08;埃尼阿克&#xff09;&#xff0c;这是课本上所写的。但计算机学界对于究竟哪台是第一台电子计算机其实存在着争议&#xff0c;除了 ENIAC 以…

[嵌入式软件][启蒙篇][仿真平台] STM32F103实现SPI控制OLED屏幕

上一篇&#xff1a; [嵌入式软件][启蒙篇][仿真平台] STM32F103实现LED、按键 [嵌入式软件][启蒙篇][仿真平台] STM32F103实现串口输出输入、ADC采集 [嵌入式软件][启蒙篇][仿真平台]STM32F103实现定时器 [嵌入式软件][启蒙篇][仿真平台] STM32F103实现IIC控制OLED屏幕 文章目…

【Vue2 + ElementUI】更改el-select的自带的下拉图标为倒三角,并设置相关文字颜色和大小

效果图 实现 <template><div class"search_resources"><div class"search-content"><el-select class"search-select" v-model"query.channel" placeholder"请选择" change"handleResource&q…

【贪吃蛇:C语言实现】

文章目录 前言1.了解Win32API相关知识1.1什么是Win32API1.2设置控制台的大小、名称1.3控制台上的光标1.4 GetStdHandle&#xff08;获得控制台信息&#xff09;1.5 SetConsoleCursorPosition&#xff08;设置光标位置&#xff09;1.6 GetConsoleCursorInfo&#xff08;获得光标…

TikTok直播对网络环境的要求是怎么样的

TikTok直播作为一种互动性强、实时性要求高的社交媒体形式&#xff0c;对网络环境有着一系列特定的需求。了解并满足这些需求&#xff0c;对于确保用户体验、提高直播质量至关重要。本文将深入探讨TikTok直播对网络环境的要求以及如何优化网络设置以满足这些要求。 TikTok直播的…

Django学习之小试牛刀

六、Django学习之小试牛刀 其他关于Python Web开发笔记&#xff1a;&#xff08;如果遇到问题可以一起交流~&#xff09; 一、Flask学习之HTML-CSDN博客 二、Flask学习之CSS-CSDN博客 【接上篇】二、Flask学习之CSS&#xff08;下篇&#xff09;-CSDN博客 三、Flask学习之B…

读取一个batch的图像并且显示出来

1读取一个batch用于训练 我们在训练模型的时候&#xff0c;除了观察图像的标签和尺寸&#xff0c;最好能读取一个batch的图像显示出来&#xff0c;观察原始图像和grountruth是否对应&#xff0c;如果正确才能正式开始后续的训练。 下面以一个皮肤病分割的数据集加以演示。 2…

漏洞原理SQL注入 手工注入漏洞

漏洞原理SQL注入 手工注入漏洞 SQL 注入的前置知识 information_schema库information_schema 是mysql5.0以上版本中自带的一个数据库。tables表information_schema库中的tables表中table_schema列&#xff08;存储数据库名&#xff09;和table_name列&#xff08;存储表名&…

【第六天】蓝桥杯备战

题 1、明明的随机数2、特殊日期 1、明明的随机数 https://www.lanqiao.cn/problems/539/learning/ 解法&#xff1a;暴力 import java.util.Scanner; import java.util.Arrays; // 1:无需package // 2: 类名必须Main, 不可修改public class Main {public static void main…

node学习过程中的终端命令

冷的哥们手真tm冷&#xff0c;打字都是僵的&#xff0c;屮 目录 一、在学习nodejs过程中用到的终端命令总结 一、在学习nodejs过程中用到的终端命令 node -v nvm install 20.11.0 nvm list nvm list available nvm on nvm -v nvm use 20.11.0 node加要运行的js文件路径 ps&a…

手指伸不直,锤状指不可忽视!

在日常生活和工作中&#xff0c;手指很容易戳伤&#xff0c;损伤后有时出现末节手指伸不直&#xff0c;影响手指屈伸活动障碍而就诊&#xff0c;医生会说手指损伤形成锤状指。那么什么是锤状指&#xff1f; 01 什么是“锤状指畸形”&#xff1f; 锤状指是指伸肌腱止点断裂后的…

确知信号的类型:能量信号与功率信号

通信原理第17页第一段&#xff1a; 例如&#xff0c; s ( t ) 8 s i n ( 5 t 1 ) , − ∞ < t < ∞ s(t)8sin(5t1),-\infty<t<\infty s(t)8sin(5t1),−∞<t<∞&#xff0c;就属于周期信号&#xff0c;其周期 T 0 2 π / 5 T_02\pi/5 T0​2π/5 三角函数很…

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

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

docker 部署xxl-job

docker 部署xxl-job XXL-JOB github地址 https://github.com/xuxueli/xxl-job XXL-JOB 文档地址 https://www.xuxueli.com/xxl-job/ XXL-JOB是一个分布式任务调度平台&#xff0c;其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品…

Ubuntu apt update提示:GPG 缺少公钥解决方法

Ubuntu 运行: sudo apt update #or sudo apt-get update提示&#xff1a;GPG 缺少公钥以及404 Not Found&#xff0c;如下面所示&#xff0c;有mirror.bwbot.org 和ppa.launchpadcontent.net两个源出现问题。 好多网友用后面的方法解决 真正解决&#xff1a;gpg --verify sig:…

数据库ER图相关概念及其画法

ER图基本概念 ER图&#xff08;Entity-Relationship Diagram&#xff09;是一种用于描述现实世界概念模型的图形化表示方法&#xff0c;通过使用图形符号和元素来表示实体、属性和它们之间的关系。在ER图中&#xff0c;实体、属性和关系分别使用不同的图形元素来表示&#xff0…

【前端web入门第二天】01 html语法实现列表与表格_合并单元格

html语法实现列表与表格 文章目录: 1.列表 1.1 无序列表1.2 有序列表1.3 定义列表 2.表格 2.1 表格基本结构2.2 表格结构标签2.3 合并单元格 写在最前,第二天学习目标: 列表 表格 表单 元素为嵌套关系 1.列表 作用:布局内容排列整齐的区域。 列表分类:无序列表、有序列表…

Redis中BigKey的分析与优化

Redis中BigKey的分析与优化 Redis以其出色的性能和易用性&#xff0c;在互联网技术栈中占据了重要的地位。 但是&#xff0c;高效的工具使用不当也会成为性能瓶颈。在Redis中&#xff0c;BigKey是常见的性能杀手之一&#xff0c;它们会消耗过多的内存&#xff0c;导致网络拥塞…

专有钉钉开发记录,及问题总结

先放几个专有钉钉开发文档 专有钉钉官网的开发指南 服务端(后端)api文档 前端api文档 前端开发工具下载地址 小程序配置文件下载地址 后端SDK包下载地址 专有钉钉域名是openplatform.dg-work.cn 开发记录 开发专有钉钉时有时会遇到要使用钉钉的api&#xff1b;通过 my 的方…