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

数据结构day3

一、思维导图

二、

#include "seqlist.h"#include<myhead.h>
int main(int argc, const char *argv[])
{//创建一个顺序表SeqListPtr L = list_create();if(NULL == L){return -1;}//调用添加函数list_add(L,123);list_add(L,435);list_add(L,856);list_add(L,657);list_add(L,346);//调用遍历函数list_show(L);//调用插入函数list_insert_pos(L,0,777);list_insert_pos(L,2,777);list_insert_pos(L,7,777);//遍历顺序表list_show(L);//调用删除函数list_delete_pos(L,2);//遍历顺序表list_show(L);//按值查找元素int res =list_search_value(L,657);printf("您查找的元素位置:%d\n",res+1);//按位置进行修改list_update_pos(L,2,999);//按值进行修改list_update_value(L,346,666);//遍历顺序表list_show(L);return 0;
}

#include "seqlist.h"//定义顺序表的创建函数
SeqListPtr list_create()
{//在堆区申请一个顺序表的大小空间SeqListPtr L = (SeqListPtr)malloc(sizeof(SeqList));if(NULL == L){printf("创建失败\n");return NULL;}//申请成功//初始化memset(L->data,0,sizeof(L->data));L->len = 0;printf("创建成功\n");return L;
}//判空函数
int list_empty(SeqListPtr L)
{return L->len==0;
}//判满函数
int list_full(SeqListPtr L)
{return L->len==MAX;
}//添加元素
int list_add(SeqListPtr L,datatype e)
{//判断if(NULL == L || list_full(L)){printf("添加失败\n");return -1;}//将要添加的元素放在最后一个位置L->data[L->len] = e;//长度增加L->len++;printf("添加成功\n");return 0;
}//遍历顺序表
void list_show(SeqListPtr L)
{//判断if(NULL == L || list_full(L)){printf("遍历失败\n");return;}//遍历printf("顺序表中的元素分别是:");for(int i=0;i<L->len;i++){printf("%d\t",L->data[i]);}printf("\n");
}//定义任意位置插入函数
int list_insert_pos(SeqListPtr L,int pos,datatype e)
{//判断if(NULL == L || list_full(L) ){printf("插入失败\n");return 0;}if(pos<0||pos>L->len){printf("插入位置有误\n");return 0;}//将pos位置腾空for(int i=L->len-1;i>=pos;i--){L->data[i+1] = L->data[i];}//插入新数据L->data[pos] = e;//插入成功//表长加1L->len++;printf("插入成功\n");return 0;
}//任意位置删除函数
int list_delete_pos(SeqListPtr L,int pos)
{//判断if(NULL == L || list_full(L) ){printf("删除失败\n");return 0;}if(pos<0||pos>=L->len){printf("删除位置有误\n");return 0;}//删除for(int i=pos+1;i<L->len;i++){L->data[i-1] = L->data[i];}//表长变化L->len--;printf("删除成功\n");return 0;
}//按值查找位置函数
int list_search_value(SeqListPtr L,datatype e)
{//判断合法性if(NULL == L || list_full(L) ){printf("查找失败\n");return 0;}//遍历查找for(int i=0;i<L->len;i++){if(L->data[i] == e){//返回下标return i;}}printf("未找到元素\n");return -1;
}//按位置进行修改
int list_update_pos(SeqListPtr L,int pos,datatype e)
{//判断if(NULL == L ){printf("修改失败\n");return -1;}if(pos<0||pos>=L->len){printf("修改位置有误\n");return 0;}//修改L->data[pos] = e;printf("修改成功\n");return 0;
}//按值进行修改
int list_update_value(SeqListPtr L,datatype old_e,datatype e)
{//判断合法性if(NULL == L || list_empty(L)){printf("修改失败\n");return -1;}//根据旧值查找位置int res = list_search_value(L,old_e);if(res == -1){printf("没查到要修改的值\n");}//根据查找到的位置进行更改list_update_pos(L,res,e);
}

#ifndef SEQLIST_H
#define SEQLIST_H
#include <myhead.h>#define MAX 20 			//顺序表最大容量
typedef int datatype; 	//数据元素类型//定义顺序表结构类型
typedef struct 
{datatype data[MAX]; 	//存放顺序表的数组int len; 				//顺序表长度
}SeqList,*SeqListPtr;//声明顺序表的创建函数
SeqListPtr list_create();//判空函数
int list_empty(SeqListPtr L);//判满函数
int list_full(SeqListPtr L);//添加元素
int list_add(SeqListPtr L,datatype e);//遍历顺序表
void list_show(SeqListPtr L);//顺序表按位置插入元素函数
int list_insert_pos(SeqListPtr L,int pos,datatype e);//任意位置删除元素
int list_delete_pos(SeqListPtr L,int pos);//按值查找位置函数
int list_search_value(SeqListPtr L,datatype e);//按位置进行修改
int list_update_pos(SeqListPtr L,int pos,datatype e);//按值进行修改
int list_update_value(SeqListPtr L,datatype old_e,datatype e);#endif

相关文章:

数据结构day3

一、思维导图 二、 #include "seqlist.h"#include<myhead.h> int main(int argc, const char *argv[]) {//创建一个顺序表SeqListPtr L list_create();if(NULL L){return -1;}//调用添加函数list_add(L,123);list_add(L,435);list_add(L,856);list_add(L,65…...

免费的数字孪生平台助力产业创新,让新质生产力概念有据可依

关于新质生产力的概念&#xff0c;在如今传统企业现代化发展中被反复提及。 那到底什么是新质生产力&#xff1f;它与哪些行业存在联系&#xff0c;我们又该使用什么工具来加快新质生产力的发展呢&#xff1f;今天我将介绍一款为发展新质生产力而量身定做的数字孪生工具。 新…...

mtsys2 编译 qemu 记录

参考链接 下载 MSYS2 MSYS2 MSYS2 换源 进入目录\msys64\etc\pacman.d&#xff0c; 在文件mirrorlist.msys的前面插入 Server http://mirrors.ustc.edu.cn/msys2/msys/$arch在文件mirrorlist.mingw32的前面插入 Server http://mirrors.ustc.edu.cn/msys2/mingw/i686在…...

【Python数据分析】数据分析三剑客:NumPy、SciPy、Matplotlib中常用操作汇总

文章目录 NumPy常见操作汇总SciPy常见操作汇总Matplotlib常见操作汇总官方文档链接NumPy常见操作汇总 在Python的NumPy库中,有许多常用的知识点,这里列出了一些核心功能和常见操作: 类别函数或特性描述基础操作np.array创建数组np.shape获取数组形状np.dtype查看数组数据类…...

STM32智能家居电力管理系统教程

目录 引言环境准备智能家居电力管理系统基础代码实现&#xff1a;实现智能家居电力管理系统 4.1 数据采集模块 4.2 数据处理与控制模块 4.3 通信与网络系统实现 4.4 用户界面与数据可视化应用场景&#xff1a;电力管理与优化问题解决方案与优化收尾与总结 1. 引言 智能家居电…...

C# 邮件发送

创建邮件类 // 有static时候 类名&#xff0c;方法名// MyEmail.方法名/// <summary>/// 给目标发送邮箱/// </summary>/// <param name"maiTo"></param>/// <param name"title"></param>/// <param name"con…...

Kotlin 协程简化回调

suspend 和 suspendCoroutine 实现 suspendCoroutine函数必须在协程作用域或挂起函数中才能调用&#xff0c;它接收一个Lambda表达式参数&#xff0c;主要作用是将当前协程立即挂起&#xff0c;然后在一个普通的线程中执行Lambda表达式中的代码。Lambda表达式的参数列表上会传…...

帝王蝶算法(EBOA)及Python和MATLAB实现

帝王蝶算法&#xff08;Emperor Butterfly Optimization Algorithm&#xff0c;简称EBOA&#xff09;是一种启发式优化算法&#xff0c;灵感来源于蝴蝶群体中的帝王蝶&#xff08;Emperor Butterfly&#xff09;。该算法模拟了帝王蝶群体中帝王蝶和其他蝴蝶之间的交互行为&…...

【学术会议征稿】第六届信息与计算机前沿技术国际学术会议(ICFTIC 2024)

第六届信息与计算机前沿技术国际学术会议(ICFTIC 2024) 2024 6th International Conference on Frontier Technologies of Information and Computer 第六届信息与计算机前沿技术国际学术会议(ICFTIC 2024)将在中国青岛举行&#xff0c;会期是2024年11月8-10日&#xff0c;为…...

PHP MySQL 读取数据

PHP MySQL 读取数据 PHP和MySQL是Web开发中的经典组合&#xff0c;广泛用于创建动态网站和应用程序。在PHP中读取MySQL数据库中的数据是一项基本技能&#xff0c;涉及到连接数据库、执行查询以及处理结果集。本文将详细介绍如何使用PHP从MySQL数据库中读取数据。 1. 环境准备…...

点亮 LED-I.MX6U嵌入式Linux C应用编程学习笔记基于正点原子阿尔法开发板

点亮 LED 应用层操控硬件的两种方式 背景 Linux系统将所有内容视作文件&#xff0c;包括硬件设备&#xff0c;通过文件I/O方式与硬件交互 设备文件&#xff0c;如字符设备文件与块设备文件&#xff0c;是硬件设备提供给应用层的接口 应用层通过设备文件进行I/O操作&#xff…...

从0到1搭建数据中台(4):neo4j初识及安装使用

在数据中台中&#xff0c;neo4j作为图数据库&#xff0c;可以用于数据血缘关系的存储 图数据库的其他用于主要用于知识图谱&#xff0c;人物关系的搭建&#xff0c;描述实体&#xff0c;关系&#xff0c;以及实体属性 安装 在官网 https://neo4j.com/ 下载安装包 neo4j-co…...

【20】读感 - 架构整洁之道(二)

概述 继上一篇文章讲了前两章的读感&#xff0c;已经归纳总结的重点&#xff0c;这章会继续跟进的看一下&#xff0c;深挖架构整洁之道。 编程范式 编程范式从早期到至今&#xff0c;提过哪些编程范式&#xff0c;结构化编程&#xff0c;面向对象编程&#xff0c;函数式编程…...

js vue axios post 数组请求参数获取转换, 后端go参数解析(gin框架)全流程示例

今天介绍的是前后端分离系统中的请求参数 数组参数的生成&#xff0c;api请求发送&#xff0c;到后端请求参数接收的全过程示例。 为何会有这个文章&#xff1a;后端同一个API接口同时处理单条或者多条数据&#xff0c;这样就要求我们在前端发送请求参数的时候需要统一将请…...

揭秘郭采洁浪漫升级

【揭秘&#xff01;郭采洁浪漫升级&#xff0c;与“莫拉怪乐”共谱爱情新篇章】在这个春意盎然的季节里&#xff0c;娱乐圈迎来了一则既意外又甜蜜的爆炸新闻——郭采洁&#xff0c;这位以独特气质与精湛演技著称的才女&#xff0c;悄然间迈入了人生的新阶段&#xff0c;而她的…...

数据结构(Java):力扣牛客 二叉树面试OJ题(一)

&#x1f449; ​​​​​​目录 &#x1f448; 1、题一&#xff1a;检查两棵树是否相同 1.1 思路分析 1.2 代码 2、题二&#xff1a;另一棵树的子树 2.1 思路分析 2.2 代码 3、题三&#xff1a;翻转二叉树 3.1 思路分析 3.2 代码 4、题四&#xff1a;判断树是否对称 …...

在国产芯片上实现YOLOv5/v8图像AI识别-【1.3】YOLOv5的介绍及使用(训练、导出)更多内容见视频

本专栏主要是提供一种国产化图像识别的解决方案&#xff0c;专栏中实现了YOLOv5/v8在国产化芯片上的使用部署&#xff0c;并可以实现网页端实时查看。根据自己的具体需求可以直接产品化部署使用。 B站配套视频&#xff1a;https://www.bilibili.com/video/BV1or421T74f 数据…...

逻辑门的题目怎么做?

FPGA语法练习——二输入逻辑门&#xff0c;一起来听~~ FPGA语法练习——二输入逻辑门 题目介绍&#xff1a;F学社-全球FPGA技术提升平台 (zzfpga.com)...

CentOS 7报错:yum命令报错 “ Cannot find a valid baseurl for repo: base/7/x86_6 ”

参考连接&#xff1a; 【linux】CentOS 7报错&#xff1a;yum命令报错 “ Cannot find a valid baseurl for repo: base/7/x86_6 ”_centos linux yum search ifconfig cannot find a val-CSDN博客 Centos7出现问题Cannot find a valid baseurl for repo: base/7/x86_64&…...

51单片机STC89C52RC——18.1 HC-SR04超声波测距

目的/效果 独立按键K1按下后开始测距&#xff0c;LCD显示距离&#xff08;mm&#xff09; 一&#xff0c;STC单片机模块 二&#xff0c;HC-SR04 超声波测距 2.1 HC-SR04 简介 HC-SR04超声波测距模块提供2cm~400cm的测距功能&#xff0c;精度达3mm。 2.2 时序 以上时序图表明…...

WordPress与 wp-cron.php

WordPress 傲居全球最流行的内容管理系统&#xff08;CMS&#xff09;之位&#xff0c;占据了互联网约43%的网站后台&#xff0c;这主要得益于其直观易用的用户界面以及丰富的扩展功能&#xff0c;特别是为新手用户提供了极大的便利。 然而&#xff0c;在畅享WordPress带来的便…...

bb-------

社保费申报及缴纳...

数据挖掘与分析部分实验与实训项目报告

一、机器学习算法的应用 1. 朴素贝叶斯分类器 相关代码 import pandas as pd from sklearn.model_selection import train_test_split from sklearn.naive_bayes import GaussianNB, MultinomialNB from sklearn.metrics import accuracy_score # 将数据加载到DataFrame中&a…...

Python中使用SpeechLib实现文本转换语音朗读的示例(修正bug)

一、修正SpeechLib的导入包顺序后的代码&#xff1a; from comtypes.client import CreateObjectengine CreateObject(SAPI.SpVoice) stream CreateObject(SAPI.SpFileStream)from comtypes.gen import SpeechLibinfile E:\\语音文档\\易经64卦读音.txt outfile E:\\demo.…...

政安晨【零基础玩转各类开源AI项目】基于Ubuntu系统部署Hallo :针对肖像图像动画的分层音频驱动视觉合成

政安晨的个人主页&#xff1a;政安晨 欢迎 &#x1f44d;点赞✍评论⭐收藏 收录专栏: 零基础玩转各类开源AI项目 希望政安晨的博客能够对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff01; 本文目标&#xff1a;在Ubuntu系统上部署Hallo&#x…...

Spring Boot1(概要 入门 Spring Boot 核心配置 YAML JSR303数据校验 )

目录 一、Spring Boot概要 1. SpringBoot优点 2. SpringBoot缺点 二、Spring Boot入门开发 1. 第一个SpringBoot项目 项目创建方式一&#xff1a;使用 IDEA 直接创建项目 项目创建方式二&#xff1a;使用Spring Initializr 的 Web页面创建项目 &#xff08;了解&#…...

电脑屏幕录制怎么弄?分享3个简单的电脑录屏方法

在信息爆炸的时代&#xff0c;屏幕上的每一个画面都可能成为我们生活中不可或缺的记忆。作为一名年轻男性&#xff0c;我对于录屏软件的需求可以说是既挑剔又实际。今天&#xff0c;我就为大家分享一下我近期体验的三款录屏软件&#xff1a;福昕录屏大师、转转大师录屏大师和OB…...

idea双击没有反应,打不开

问题描述 Error opening zip file or JAR manifest missing : /home/IntelliJ-IDEA/bin/jetbrains-agent.jar解决方案...

关于UniApp使用的个人笔记

UniApp 开发者中心 用于注册应用以及申请对应证书 https://dev.dcloud.net.cn/pages/app/list https://blog.csdn.net/fred_kang/article/details/124988303 下载证书后&#xff0c;获取SHA1关键cmd keytool -list -v -keystore test.keystore Enter keystore password…...

autoware.universe源码略读(3.16)--perception:object_range_splitter

autoware.universe源码略读3.16--perception:object_range_splitter Overviewnode&#xff08;Class Constructor&#xff09;ObjectRangeSplitterNode::ObjectRangeSplitterNode&#xff08;mFunc&#xff09;ObjectRangeSplitterNode::objectCallback Overview 这里处理的依…...

找代码的网站/百度指数移动版怎么用

关于Shell在计算机科学中&#xff0c;Shell俗称壳(用来区别于核)&#xff0c;是指“为使用者提供操作界面”的软件(命令解析器)。它类似于DOS下的command.com和后来的cmd.exe。它接收用户命令&#xff0c;然后调用相应的应用程序。shell分类&#xff1a;一&#xff1a;图形界面…...

dw做的网站不显示/营销 推广

按单词反转字符串是一道很常见的面试题。在Python中实现起来非常简单。def reverse_string_by_word(s):lst s.split() # split by blank space by defaultreturn .join(lst[::-1])s Power of Loveprint reverse_string_by_word(s)# Love of Powers Hello World!print rever…...

邢台住房和城乡建设部网站/2021年关键词有哪些

springboot集成clickhouse一、安装二、springboot集成三、参考文献一、安装 我是安装在linux上, 步骤如下。 1、添加yum源 下面展示一些 内联代码片。 yum-config-manager --add-repo http://repo.red-soft.biz/repos/clickhouse/repo/clickhouse-el6.repo 2、安装 yum inst…...

做淘客网站去哪里购买空间/关于普通话的手抄报

**前言**十多年前笔者就打算写一本Oracle数据库性能优化方面的书&#xff0c;屡次都是在提笔写了几行字后就放弃了。近几年&#xff0c;随着Oracle数据库的普及和水平的不断提高&#xff0c;国内出现不少Oracle数据库方面的高水平作品&#xff0c;相当多的作品都涉及了性能优化…...

数据库端口 wordpress/重庆快速网络推广

文章目录前言一、信噪比是什么&#xff1f;&#xff08;1&#xff09;噪声怎么来的&#xff1f;&#xff08;2&#xff09;信噪比的公式二、降低信号传输过程中噪声的措施总结前言 有一次在做电路的时候&#xff0c;需要DDS输出小信号的正弦波&#xff0c;比如说20mV&#xff…...

做网站推广也要营业执照吗/如何网站seo

作为一位在一所211大学的工科生&#xff0c;我就是工程力学专业的学生&#xff0c;我来回答你这个问题吧。工程力学专业的考研专业选择主要有&#xff1a;力学、工程力学、固体力学、建筑与土木工程。现在航天专业好像也比较适合学习工程力学的同学去考。工程力学的范畴很大&am…...