数据结构D3作业

1.

2.

按位插入

void insert_pos(seq_p L,datatype num,int pos)
{
    if(L==NULL)
    {
        printf("入参为空,请检查\n");
        return;
    }
    if(seq_full(L)==1)
    {
        printf("表已满,不能插入\n");
        return;
    }
    if(pos==0)
    {
        insert_head(L,num);
        return;
    }
    if(pos>=L->len)
    {
        printf("无法插入:位置不合理\n");
        return;
    }
    if(pos==L->len)
    {
        insert_tail(L,num);    
        return;
    }
    for(int i=L->len-1;i>=pos;i--)
    {
        L->data[i+1]=L->data[i];
    }
    L->data[pos]=num;
    L->len++;
}


按位删除

void del_pos(seq_p L,int pos)
{
    if(L==NULL)
    {
        printf("入参为空\n");
        return;
    }
    if(pos>=L->len)
    {
        printf("位置不合理\n");
        return;
    }
    if(pos==0)
    {
        del_head(L);
        return;
    }
    if(pos==L->len-1)
    {
        del_tail(L);
        return;
    }
    for(int i=pos;i<=L->len-1;i++)
    {
        L->data[i]=L->data[i+1];
    }
    L->len--;
}


去重

void del_rep(seq_p L)
{

    if(L==NULL)
    {
        printf("入参为空\n");
        return;
    }
    for(int i=0;i<L->len;i++)
    {
        for(int j=i+1;j<L->len;j++)
        {
            if(L->data[i]==L->data[j])
            {
            del_pos(L,j);
            j--;
            }
        }
    }
}

3.

link.c

voidlink.c insert_head(link_p H,datatype data)
{
    if(H==NULL)
    {
        printf("入参为空\n");
        return;
    }
    link_p new=create_node(data);
    new->next=H->next;
    H->next=new;
    H->len++;
}

尾插:

void insert_tail(link_p H,datatype data)
{
    link_p temp=H;
    for(int i=0;i<H->len;i++)
    {
        temp=temp->next;
    }
    link_p new=create_node(data);
    temp->next=new;
    new->next=NULL;
    H->len++;
}

输出

void put_link(link_p H)
{
    link_p temp=H;
    for(int i=0;i<H->len;i++)
    {
        temp=temp->next;
        printf("%d\t",temp->data);
    }
    printf("\n");
}
main.c

#include "link.h"
int main()
{
    link_p H=create_head();
    insert_head(H,2);
    insert_head(H,1);
    insert_tail(H,3);
    put_link(H);
    return 0;
}


 

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

迁移SVN和GIT的云端数据

在新服务器搭建GIT仓库 教程很多&#xff0c;大致的流程是&#xff1a; 1. 新建linux用户密码专用于git操作 2. 新建git库的存放文件夹并在此初始化git 3. 配置git库所在目录权限 *只需要有一个库和有一个用户&#xff0c;与在windows上建库是一样的。不需要搭建类似gitla…

java面试JVM虚拟机篇

1 JVM组成 1.1 JVM由那些部分组成&#xff0c;运行流程是什么&#xff1f; 难易程度&#xff1a;☆☆☆ 出现频率&#xff1a;☆☆☆☆ JVM是什么 Java Virtual Machine Java程序的运行环境&#xff08;java二进制字节码的运行环境&#xff09; 好处&#xff1a; 一次编写&a…

Android中如何通过perfetto抓取trace

一&#xff0c;perfetto的作用 Perfetto的作用是提供一个性能检测和跟踪分析工具集&#xff0c;用于Android、Linux和Chrome平台。 Perfetto是Google推出的一款全新的平台级跟踪分析工具&#xff0c;它从Android 10开始被引入&#xff0c;旨在替代之前的systrace工具。Perfet…

js设计模式:解释器模式

作用: 对文本进行解释和编译的时候,就会用到解释器模式 比如你写了一段js代码,js引擎就会去解释并执行这段代码 webpack中的各种loader就是用来解释各种文件类型的,并将其解释为js可识别的代码 示例: //翻译词库const wordList [{text:韩信前期有蓝有红,必须拿二杀。你要是…

HAT论文详解:Activating More Pixels in Image Super-Resolution Transformer

code&#xff1a;https://github.com/XPixelGroup/HAT paper: https://arxiv.org/abs/2309.05239 1. 概述 本文是对Swinir的改进&#xff0c;目前很多图像超分Benchmark的SOTA。相对于SwinIR的改进主要有三个地方&#xff1a;1. 引入Channel Attention,以获得更好的全局能力&…

【C++初阶】系统实现日期类

目录 一.运算符重载实现各个接口 1.小于 (d1)<> 2.等于 (d1d2) 3.小于等于&#xff08;d1<d2&#xff09; 4.大于&#xff08;d1>d2&#xff09; 5.大于等于&#xff08;d1>d2&#xff09; 6.不等于&#xff08;d1!d2&#xff09; 7.日期天数 (1) 算…

c++:蓝桥杯的基础算法2(构造,模拟)+练习巩固

目录 构造 构造的基础概念&#xff1a; 模拟 练习1&#xff1a;扫雷 练习2&#xff1a;灌溉 练习3&#xff1a;回文日期 构造 构造的基础概念&#xff1a; 构造算法是一种用于解决特定问题的算法设计方法。在C语言中&#xff0c;构造算法通常涉及到创建一个函数或类来实…

PMP考试100个主要知识点

1.一个项目在启动阶段会进行量级估算&#xff0c;准确范围是-50至100%。2000版的量级估算准确度为&#xff1a;-25%到75%。 2.质量控制通常先于范围确认执行&#xff0c;但这两个过程可以并列进行参考 3.Cost-plus-fixed-fee(CPFF)成本加固定费用合同。成本补偿型合同包括成本加…

Vue 封装的 axios 类的使用(小bug 改进)

http类 import { baseUrl } from "./config"; //引入config.js中的配置 import axios from "axios"; //引入axios import qs from "querystringify"; //form-Data请求时的工具类class Http{axios null;lastRequestIntercept null…

华为OD机试真题-最大坐标值-2023年OD统一考试(C卷)--Python--开源

题目&#xff1a; 考察内容&#xff1a; for if 异常处理细节&#xff08;负数-1&#xff0c; 指令为0&#xff0c;且幸运数为0&#xff0c;不进不退&#xff09; 代码&#xff1a; """ 题目分析&#xff1a; 异常处理&#xff1a;try -except 当指令为0&am…

【OpenFeign常用配置】

OpenFeign常用配置 快速入门&#xff1a;1、引入依赖2、启用OpenFeign 实践1、引入依赖2、开启连接池功能3、模块划分4、日志5、重试 快速入门&#xff1a; OpenFeign是一个声明式的http客户端&#xff0c;是spring cloud在eureka公司开源的feign基础上改造而来。其作用及时基于…

二.西瓜书——线性模型、决策树

第三章 线性模型 1.线性回归 “线性回归”(linear regression)试图学得一个线性模型以尽可能准确地预测实值输出标记. 2.对数几率回归 假设我们认为示例所对应的输出标记是在指数尺度上变化&#xff0c;那就可将输出标记的对数作为线性模型逼近的目标&#xff0c;即 由此&…