数据结构——如何定义与建立

2023-10-31


(1) 顺序线性表的定义
    #define maxsize  100
 typedef struct{
             int aa[maxsize];
            int size;
       }Sqlist;

 

 

 

(2)栈的定义
#define STACK_INIT_SIZE 100
typdef struct
  {  int *P1;     //p1指向栈底的元素
      int *P2;     //p2指向栈顶的元素的上一个元素,因此在向栈压入元素时候,必须先插入后改变指针
      int stacksize;
  }Sqstack ;

 

 栈的第二种定义:

  const int MAXSIZE = 栈的最大容量;
  typedef struct {
            DataType elem[MAXSIZE];
             int top;
         } SqStack;

 栈的相关操作算法:


 

1、int InitStack(Sqstack s)
{
  s.p1=(int*)malloc(STACK_INIT_SIZE *Sizeof(int));
  s.p2=s.p1;
  s.stacksize=STACK_INIT_SIZE;
  return 1;
}


2、int Push(Sqstack &S,int a)
{
 *s.top=a;
  s.top++;
}
3、int Pop(Sqatack &s,int a)
{
 if(s.top=s.bottom) return 0;
   s.top--;
   a=*s.top
}

 


 

 (2)队列的定义

 

    第一:循环线性队列

       

循环队列的类型定义:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据结构——如何定义与建立 的相关文章

随机推荐

  • Linux部分参数作用讲解

    作者 小刘在C站 个人主页 小刘主页 每天分享云计算网络运维课堂笔记 努力不一定有回报 但一定会有收获加油 一起努力 共赴美好人生 夕阳下 是最美的绽放 树高千尺 落叶归根人生不易 人间真情 ls help 查看ls 命令的基本用法 hel
  • NLP学习—23.基于Transformer的机器翻译实战

    文章目录 Transformer理论部分 Transformer代码实现 基于Transformer的机器翻译实战 在Transformer的代码实现的基础上 采用机器翻译数据 进行基于Transformer的机器翻译实战 数据集代码链接
  • JAVA单元测试框架-10-断言Assert

    使用Assert对结果进行断言 这是testng里的断言方式 常用断言 assertTrue assertSame assertEquals Test public void TestAssert Assert assertEquals 2
  • 如何在 SubSystem for Android 上安装应用?

    如何在 SubSystem for Android上安装应用 2022年3月19日更新 原先的 Apk文件安装程序 加入了广告 且软件源代码有盗窃原作者的嫌疑 目前不能确定 如有冒犯请谅解 所以更新此文章 这次推荐的是 来自酷友的作品 Ap
  • 命名接口约束统一

    Dao 接口命名 insert batchInsert selectOne selectByXXX count list listPage update delete Service 接口命名 add findOne findByXXX f
  • Python报错:from torchvision import _C解决办法

    原因 很有可能是torch装的是cpu 而torchvision装的是gpu版本 解决办法 到pytorch官方网站下载对应版本的torchvision cpu版本
  • python怎么打包_如何将一整个python工程打包

    匿名用户 1级 2016 05 14 回答 1 下载并安装py2exe 可下载最新版本 2 编写安装脚本 比较简单 不过多解释 如下 Screenshot setup py usr bin env python coding utf 8 f
  • 直线拟合的三种方法

    近日考虑直线拟合相关的知识 大概有所了解 所以打算进行一些总结 直线拟合常用的三种方法 一 最小二乘法进行直线拟合 二 梯度下降法进行直线拟合 三 高斯牛顿 列 马算法进行直线拟合 一 使用最多的就是最小二乘法 这里我也对最小二乘法进行了一
  • 有道翻译JS逆向最新版本,包含解密部分

    话不多说 首先抓包 发现提交的POST参数中 有一个值会变的sign参数 一看是32位的长度 就判断是一个MD5的加密 我们要做的就是调试出这个参与MD5加密的字符串 然后搜索关键字sige 找到JS的关键位置 发现是一个v方法 V方法又调
  • 【LeetCode】MySQL:数据库简单题(181)

    181 超过经理收入的员工 1 题目描述 2 具体实现 Write your MySQL query statement below 法一 子查询 执行时间 905 ms select name as Employee from Emplo
  • 排队论mm1和mms

    排队论 分类 mm1模型 介绍 代码 结果截图 mms模型 介绍 代码 结果截图 分类 mm1模型 介绍 代码 clear clc 初始化顾客源 需要改动的地方就只有仿真时间 到达率和服务率 服务率一般很难提升 但是到达率可以减小 比如肯德
  • RPC:时钟轮解决定时任务以及超时检测

    定时任务带来了什么问题 我们来看一下RPC框架是如何处理超时请求的 RPC中 无论是同步调用还是异步调用 调用端内部实行的都是异步 调用端在向服务端发送消息之前会创建一个Future 并存储这个消息标识与这个Future的映射 当服务端收到
  • 计算机网络 ping中ttl,ping命令TTL什么意思 ping值ttl多少算正常

    很多人都在问ping命令TTL是什么意思 ping值ttl多少算正常 为什么ping数据的时候有的TTL 52 也有TTL 112 甚至还有TTL 255不等的数值 针对大家的这个网络提问 下面ITmemo就给大家解答下 让您完全明白这是怎
  • 使用 apifm 插件进行 Flutter 云开发——图形验证码

    知识点回顾 使用 apifm 插件进行 Flutter 云开发 安装篇 功能说明 图形验证码的使用场景很多 很多需要考虑安全的场合下都需要使用图形验证码来屏蔽机器人的自动化 批量操作 功能点 App上显示图形验证码 点击更换验证码图片 输入
  • 【HJ74】参数解析

    题目描述 在命令行输入如下命令 xcopy s c d e 各个参数如下 参数1 命令字xcopy 参数2 字符串 s 参数3 字符串c 参数4 字符串d e 请编写一个参数解析程序 实现将命令行各个参数解析出来 解析规则 1 参数分隔符为
  • U盘“文件或目录损坏且无法读取”错误的修复

    U盘mp3移动硬盘 文件或目录损坏且无法读取 错误的修复 cmd 后回车 输入 chkdsk 移动硬盘所在盘符 R 回车 按提示操作即可 这个方法应该同样适用于U盘 MP3等大容量移动存储设备 附 CHKDSK命令参数 检查磁盘并显示状态报
  • Android开发实例:打电话

    1 首先建立一个android工程Phone 这里不再演示 PhoneActivity java文件如下 package jiao jiao import android app Activity import android conten
  • Qt项目使用NSIS工具打包发布

    1 安装NSIS工具 在将要发布的文件夹中添加程序安装图标 卸载图标及License txt文件 如下图 注意生成图标时候像素选择大点 如256 256 License txt文件内容可自行定义 1 安装NSIS 双击运行nsis setu
  • python发送邮件附件中文名乱码_处理 python3 邮件附件中文名乱码的问题

    最近接手了一个 py 机器人的开发 发现不论传入的附件路径是变量 字符串 先编码后解码的字符串都解决不了名称乱码 打开源码一看 是这个逻辑 def send smtp mail server None port 25 psw None se
  • 数据结构——如何定义与建立

    1 顺序线性表的定义 define maxsize 100 typedef struct int aa maxsize int size Sqlist 2 栈的定义 define STACK INIT SIZE 100typdef stru