数据结构2月19日

题目:顺序表作业

代码:

功能区:

 #include <stdio.h>#include <stdlib.h>#include "./d2191.h"SeqList* create_seqList(){SeqList* list = (SeqList*)malloc(sizeof(SeqList));if(NULL== list){return NULL;}list->pos=0;//初始化要操作的位置为0return list;}void insert_seqList(SeqList* list,dataype num){//判断顺序表是否为满if(list->pos >=N){printf("顺序表为满,插入失败\n");return;}//在pos位置插入数据list->data[list->pos] = num;//将pos++(list->pos)++;printf("插入成功\n");return;}void show_seqList(SeqList* list){int i;for(i=0;i<=list->pos;i++){printf("%d ",list->data[i]);}printf("\n");}dataype del_seqList(SeqList* list){//判断顺序表是否为空if(list->pos > 0){(list->pos)--;dataype num =list->data[list->pos];return num;}}//从下标插入数据void index_seqList(SeqList* list,int index,int temp){int i ;if(index<=0||index>=N||list->pos >=N){printf("要插入的下标错误或者超出");return;}for(i=list->pos;i>index;i--){list->data[i]=list->data[i-1];}(list->pos)++;list->data[index]=temp;return;}//从下标删除数据dataype deletebyindex_seqList(SeqList* list,int index){int i;if(index<=0||index>=N||list->pos >=N){printf("要删除的下标错误或者超出");return 0;}int beifen=list->data[index];for(i=index;i<list->pos;i++){list->data[i]=list->data[i+1];}(list->pos)--;return beifen;}//从下标修改数据void update_seqList(SeqList* list,int index,int newnum){if(index<0||index>list->pos){printf("非法输入\n");return;}list->data[index]=newnum;printf("修改成功\n");return;}//按下标查找数据dataype find_seqList(SeqList* list,int index){if(index<0||index>list->pos){printf("非法输入\n");return 0;}return list->data[index];}//按数据修改数据void updatebydata_seqList(SeqList* list,int oldnum,int newnum){int i;for(i=0;i<list->pos;i++){if(list->data[i]==oldnum){list->data[i]=newnum;}}printf("更新完成\n");return ;}//按数据查找位置int selectbydata_seqList(SeqList* list,int num){int i;for(i=0;i<list->pos;i++){if(list->data[i]==num){return i;}}

函数调用区:

include <stdio.h>
include "./d2191.h"
nt main(int argc, const char *argv[])//创建一个顺序表SeqList* list = create_seqList();//从尾部插入数据insert_seqList(list,10);insert_seqList(list,100);insert_seqList(list,1000);insert_seqList(list,10000);insert_seqList(list,10);//从尾部删除printf("%d\n", del_seqList(list));//从下标插入数据index_seqList(list,5,888);show_seqList(list);//从下标删除数据printf("%d\n",deletebyindex_seqList(list,3));show_seqList(list);                                        //从下标修改数据update_seqList( list,3,66);show_seqList(list);//按下标查找数据printf("查找的数据是%d\n",find_seqList(list,3));//按数据修改数据updatebydata_seqList(list,10,11);show_seqList(list);//按数据查找位置printf("该数字在第几个%d\n",selectbydata_seqList(list,66));return 0;

头文件区:

 #ifndef FUNC_C_#define FUNC_C_#define N 6//顺序表容量typedef int dataype;typedef struct{dataype data[N];//顺序表int pos;//记录要操作顺序表的位置}SeqList;SeqList* create_seqList();void insert_seqList(SeqList* list,dataype num);void show_seqList(SeqList* list);dataype del_seqList(SeqList* list) ;void index_seqList(SeqList* list,int index,int temp);dataype deletebyindex_seqList(SeqList* list,int index);void update_seqList(SeqList* list,int index,int newnum);dataype find_seqList(SeqList* list,int index);void updatebydata_seqList(SeqList* list,int oldnum,int newnum);int selectbydata_seqList(SeqList* list,int num);#endif                                                            

运行结果:

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

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

相关文章

06 分频器设计

分频器简介 实现分频一般有两种方法&#xff0c;一种方法是直接使用 PLL 进行分频&#xff0c;比如在 FPGA 或者 ASIC 设计中&#xff0c;都可以直接使用 PLL 进行分频。但是这种分频有时候受限于 PLL 本身的特性&#xff0c;无法得到频率很低的时钟信号&#xff0c;比如输入 …

Puppeteer 使用实战:如何将自己的 CSDN 专栏文章导出并用于 Hexo 博客(三)

文章目录 往期效果将文章信息导出适配 hexo 的文章模板导出的文章路径问题终端控制执行脚本代码整理结尾 往期 Puppeteer 使用实战&#xff1a;如何将自己的 CSDN 专栏文章导出并用于 Hexo 博客&#xff08;二&#xff09; 效果 写了一个 node 脚本用来批量处理 md 文件 本期…

塑造网络安全战略的 5 个趋势

从重创工业部门的勒索软件攻击到人工智能推动的创新网络威胁&#xff0c;2023 年发生了一波备受瞩目的网络安全事件。网络安全形势充满挑战。也就是说&#xff0c;我们当然可以期望组织改进其反防御措施&#xff0c;以应对不断升级的威胁。 1. 零信任获得更多关注 传统的基于…

架构设计:如何保证接口幂等性

引言 在分布式系统中&#xff0c;幂等性是一种十分重要的设计原则。它确保了系统在面对重复请求时能够产生相同的结果&#xff0c;而不会引发意外的行为或者数据不一致的问题。在本文中&#xff0c;我们将深入探讨幂等性设计的重要性&#xff0c;并结合 Java 代码以及不同场景…

【JVM】打破双亲委派机制

&#x1f4dd;个人主页&#xff1a;五敷有你 &#x1f525;系列专栏&#xff1a;JVM ⛺️稳中求进&#xff0c;晒太阳 打破双亲委派机制 打破双亲委派机制三种方法 自定义类加载器 ClassLoader包含了四个核心方法 //由类加载器子类实现&#xff0c;获取二进制数据调用…

XML的写法

下面我将以如下代码来解释下XML的写法 <?xml version"1.0" encoding"UTF-8" ?> <Steam><steam id"1"><zhanghao>admin</zhanghao><mima>123</mima><num>120</num></steam><st…

Eureka注册中心(黑马学习笔记)

Eureka注册中心 假如我们的服务提供者user-service部署了多个实例&#xff0c;如图&#xff1a; 大家思考几个问题&#xff1a; order-service在发起远程调用的时候&#xff0c;该如何得知user-service实例的ip地址和端口&#xff1f; 有多个user-service实例地址&#xff0c…

从 Elasticsearch 到 Apache Doris,统一日志检索与报表分析,360 企业安全浏览器的数据架构升级实践

导读&#xff1a;随着 360 企业安全浏览器用户规模的不断扩张&#xff0c;浏览器短时间内会产生大量的日志数据。为了提供更好的日志数据服务&#xff0c;360 企业安全浏览器设计了统一运维管理平台&#xff0c;并引入 Apache Doris 替代了 Elasticsearch&#xff0c;实现日志检…

mysql和sql server 中如何创建和管理用户

阅读本文之前请参阅----MySQL 数据库安装教程详解&#xff08;linux系统和windows系统&#xff09; 在MySQL和SQL Server中创建和管理用户的过程有所不同。下面分别介绍这两种数据库系统中用户管理的常见步骤。 MySQL 创建用户 在MySQL中创建用户的语法…

【鸿蒙 HarmonyOS 4.0】网络请求

一、介绍 资料来自官网&#xff1a;文档中心 网络管理模块主要提供以下功能&#xff1a; HTTP数据请求&#xff1a;通过HTTP发起一个数据请求。WebSocket连接&#xff1a;使用WebSocket建立服务器与客户端的双向连接。Socket连接&#xff1a;通过Socket进行数据传输。 日常…

在UE5中制作UI环形进度条

在日常开发中&#xff0c;经常会有环形进度条UI的效果&#xff0c;例如技能CD时间、加载动画等&#xff0c;本文将通过材质球节点实现该效果&#xff0c;相较于准备美术素材&#xff0c;这样的做法更为方便&#xff0c;效果如下&#xff1a; 1.制作环状效果材质函数 在内容面…

【智能家居】7、主程序编写+实现语音、网络和串口功能

需要毕业论文私信有偿获取 截止目前mainPro.c代码 #include <stdio.h> #include <string.h>#include "controlDevices.h" #include "inputCmd.h"struct Devices *findDevicesName(char *name,struct Devices *phead){struct Devices *tmpphe…

设计模式----开题

简介&#xff1a; 本文主要介绍设计模式中的六大设计原则。开闭原则&#xff0c;里氏代换原则&#xff0c;依赖倒转原则&#xff0c;接口隔离原则&#xff0c;迪米特原则和合成复用原则。这几大原则是设计模式使用的基础&#xff0c;在使用设计模式时&#xff0c;应该牢记这六大…

【PX4-AutoPilot教程-TIPS】PX4控制无人机在Gazebo中飞行时由于视角跟随无人机在画面中心导致视角乱晃的解决方法

PX4控制无人机在Gazebo中飞行时由于视角跟随无人机在画面中心导致视角乱晃的解决方法 问题描述解决方法 问题描述 无人机在Gazebo中飞行时&#xff0c;无人机始终处于画面中央&#xff0c;会带着视角乱晃&#xff0c;在Gazebo中进行任何操作视角都无法固定。 观察Gazebo左侧Wo…

前端架构: 实现脚手架终端UI样式之ANSI escape code, Chalk, Ora介绍

在脚手架当中实现命令行的UI显示 1 &#xff09;概述 在命令行中&#xff0c;如果想实现除传统的常规文本以外的内容比如想对字体进行加粗斜体下划线&#xff0c;包括对它改变颜色改变前景色改变后景色等等需要借助一个叫做 ANSI escape code 这样的一个概念它其实是一个标准&…

手拉手Vite+Vue3+TinyVue+Echarts+TailwindCSS

技术栈springboot3hutool-alloshi-coreVue3viteTinyVueEchartsTailwindCSS软件版本IDEAIntelliJ IDEA 2022.2.1JDK17Spring Boot3.1hutool-all5.8.18oshi-core6.4.1Vue35.0.10vite5.0.10axios1.6.7echarts5.4.3 ECharts是一个使用 JavaScript 实现的开源可视化库&#xff0c;可…

ssm+springmvc基于springboot的宠物领养系统的设计与实现_j5fk4

宠物领养系统主要是为了提高管理员的工作效率&#xff0c;满足管理员对更方便、更快、更好地存储所有信息和数据检索功能的要求。通过对多个类似网站的合理分析&#xff0c;确定了宠物领养系统的各个模块。考虑到用户的可操作性&#xff0c;经过深入调查研究&#xff0c;遵循系…

Uniapp + VUE3.0 实现双向滑块视频裁剪效果

效果图 <template><view v-if"info" class"all"><video:src"info.videoUrl"class"video" id"video" :controls"true" object-fit"fill" :show-fullscreen-btn"false"play-btn…

SpringBoot源码分析

文章目录 SpringBoot 源码分析一、源码分析 - 自动装配1、SpringBootApplication2、EnableAutoConfiguration3、AutoConfigurationImportSelector4、SpringFactoriesLoader5、META-INF/spring.factories6、SpringMVC相关装配 二、源码分析 - 启动加载1、SpringApplication - 静…

2024-02-21 学习笔记(DETR)

自动多模态检测验证效果不佳&#xff08;过检太多&#xff09;后&#xff0c;节后开始尝试DETR路线。 基本梳理了下DETR发展和验证的脉络&#xff0c;先进行相应指定场景的效果验证。 关于DETR系列的介绍&#xff0c;B站上比较多&#xff0c;迪哥的都讲的比较细。 推荐大佬的…