数据结构2月19日

news2024/11/20 22:06:03

题目:顺序表作业

代码:

功能区:

 #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;//初始化要操作的位置为0
 
     return 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.coloradmin.cn/o/1466030.html

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

相关文章

多输入回归预测|GWO-CNN-LSTM|灰狼算法优化的卷积-长短期神经网络回归预测(Matlab)

目录 一、程序及算法内容介绍&#xff1a; 基本内容&#xff1a; 亮点与优势&#xff1a; 二、实际运行效果&#xff1a; 三、算法介绍&#xff1a; 灰狼优化算法&#xff1a; 卷积神经网络-长短期记忆网络&#xff1a; 四、完整程序下载&#xff1a; 一、程序及算法内容…

软件测试实训系统建设方案2024

软件测试实训室解决方案 一 、方案概述 软件测试实训解决方案是一个复杂且至关重要的过程&#xff0c;它确保了软件在开发过程中的各个模块能够正确地集成和交互。通过这一系列的测试步骤&#xff0c;开发团队能够及时发现并修复潜在的问题&#xff0c;从而提高软件的整体质量…

Chrome Captcha自动解决器,如何下载CapSolver

在数字时代&#xff0c;CAPTCHA&#xff08;Completely Automated Public Turing tests to tell Computers and Humans Apart&#xff0c;完全自动区分计算机和人类的公共图灵测试&#xff09;作为一项重要的安全措施&#xff0c;用于保护网站免受自动机器人的攻击。然而&#…

Keepalived介绍、架构和安装

Keepalived介绍、架构和安装 文章目录 Keepalived介绍、架构和安装1.Keepalived&#xff08;高可用性服务&#xff09;1.1 Keepalived介绍1.2 Keepalived 架构1.3 Keepalived 相关文件 2.Keepalived安装2.1 主机初始化2.1.1 设置网卡名和ip地址2.1.2 配置镜像源2.1.3 关闭防火墙…

分享一个UE的SmoothStep小技巧

SmoothStep节点可以制作更平滑的动画&#xff0c;而如果将max参数作为值传入将value和min参数作为约束&#xff0c;则可以做出类似冲击波的渐变效果&#xff1a; 并且通过修改value与min之间的数值差&#xff0c;可以调节渐变。 这个技巧主要就是可以产生硬边。 比如我们可…

Django——ORM增删改查

基本对象 model.objects 创建数据 可以通过django编写的命令行方式快捷创建数据 python manage.py shell 如果对模型层有任何修改都需要重启shell&#xff0c;否则操作容易出错 在shell中我们需要先引入我们的模型&#xff0c;如from bookstore.models import Book 然后通过…

套接字与套接字编程

对于刚刚学习计算机网络&#xff1a;自顶向下的同学们&#xff0c;在观看了中科大的视频---TCP Socket以及UDP Socket会感到些许疑惑&#xff0c;不过没事&#xff0c;在这篇小文章将会为你解开Socket的神秘面纱 什么是Socket&#xff1f;: Socket 是一套用于不同主机之间通信…

2024年面试季,大前端相关开发者不妨了解一下鸿蒙开发岗

搜狐&#xff1a;我宣布与华为达成鸿蒙全面合作&#xff01; 美团&#xff1a;我宣布与华为达成鸿蒙全面合作&#xff01; 360 &#xff1a;我宣布与华为达成鸿蒙全面合作&#xff01; 高德&#xff1a;我宣布与华为达成鸿蒙全面合作&#xff01; 新浪&#xff1a;我宣布与华为…

java——特殊文件日志技术

目录 特殊文件Properties文件XML文件XML文件有如下的特点XML的作用和应用场景解析XML文件 日志技术概述日志技术的体系结构Logback日志框架概述快速入门核心配置文件logback.xml日志级别项目中使用日志框架 特殊文件 Properties文件 后缀为.properties的文件&#xff0c;称之…

探索D咖智能饮品机器人的工作原理:科技、材料与设计的相互融合

智能饮品机器人是近年来随着人工智能和自动化技术的发展而崭露头角的一种创新产品。它将科技、材料和设计相互融合&#xff0c;为消费者带来了全新的饮品体验。下面D咖来探索智能饮品机器人的工作原理&#xff0c;以及科技、材料和设计在其中的作用。 首先&#xff0c;智能饮品…

悄悄话花费的时间(C语言)

题目描述 给定一个二叉树&#xff0c;每个节点上站着一个人&#xff0c;节点数字表示父节点到该节点传递悄悄话需要花费的时间。 初始时&#xff0c;根节点所在位置的人有一个悄悄话想要传递给其他人&#xff0c;求二叉树所有节点上的人都接收到悄悄话花费的时间。 输入描述 …

企业统一身份中台,如何比传统单点登录SSO做得更好?

传统的单点登录SSO方案往往仅解决以下问题&#xff1a;多应用系统入口不统一&#xff0c;导致员工需要切换多个登录地址&#xff0c;重复多次登录&#xff0c;极大影响业务访问效率及员工登录体验。随着IT基础设施的增多&#xff0c;企业对全场景&#xff08;如网络、VPN、云桌…

Jmeter基础(2) 目录介绍

目录 Jmeter目录介绍bin目录docsextrasliblicensesprintable_docs Jmeter目录介绍 在学习Jmeter之前&#xff0c;需要先对工具的目录有些了解&#xff0c;也会方便后续的学习 bin目录 examplesCSV目录中有CSV样例jmeter.batwindow 启动文件jmeter.shMac/linux的启动文件jmete…

flink内存管理,设置思路,oom问题,一文全

flink内存管理 1 内存分配1.1 JVM 进程总内存&#xff08;Total Process Memory&#xff09;1.2 Flink 总内存&#xff08;Total Flink Memory&#xff09;1.3 JVM 堆外内存&#xff08;JVM Off-Heap Memory&#xff09;1.4 JVM 堆内存&#xff08;JVM Heap Memory&#xff09;…

如何在Pycharm中导入第三方库(以pyecharts为例子)

打开Pycharm 点击右上角文件->设置->项目->pythonProject&#xff08;Python解释器&#xff09; 点击下图号 下一步&#xff1a;在搜索栏中直接搜索第三方包pyecharts并安装即可 以上便为使用Pycharm安装第三方库的全过程。 温馨小提示&#xff0c;如果大家在Pychar…

研学活动报名平台系统功能清单

中小学生社会实践活动、研学旅行等素质教育活动报名与管理平台&#xff0c;功能包含&#xff1a;活动分类&#xff0c;活动管理&#xff0c;在线报名缴费&#xff0c;扫码核销&#xff0c;会员特权体系&#xff0c;在线商城&#xff0c;研学互动。系统支持入驻老师自行创建研学…

代码随想录算法训练营第二十六天|39. 组合总和、40.组合总和II、131.分割回文串

39. 组合总和 刷题https://leetcode.cn/problems/combination-sum/description/文章讲解https://programmercarl.com/0039.%E7%BB%84%E5%90%88%E6%80%BB%E5%92%8C.html视频讲解https://www.bilibili.com/video/BV1KT4y1M7HJ/?vd_sourceaf4853e80f89e28094a5fe1e220d9062 回溯…

【数据分享】2014-2024年全国监测站点的逐年空气质量数据(15个指标\免费获取)

空气质量的好坏反映了空气的污染程度&#xff0c;在各项涉及城市环境的研究中&#xff0c;空气质量都是一个十分重要的指标。空气质量是依据空气中污染物浓度的高低来判断的。 我们发现学者王晓磊在自己的主页里面分享了2014年5月以来的全国范围的到站点的逐时空气质量数据&am…

【Python笔记-设计模式】组合模式

一、说明 组合模式是一种结构型设计模式&#xff0c; 你可以使用它将对象组合成树状结构&#xff0c; 并且能像使用独立对象一样使用它们。 (一) 解决问题 处理树形结构&#xff1a;可以很好地处理树形结构的数据&#xff0c;使得用户可以统一对待单个对象和对象组合。统一接…

【LeetCode每日一题】 单调栈的案例 42. 接雨水

这道题是困难&#xff0c;但是可以使用单调栈&#xff0c;非常简洁通俗。 关于单调栈可以参考单调栈总结以及Leetcode案例解读与复盘 42. 接雨水 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列的柱子&#xff0c;下雨之后能接多少雨水。 示例 …