数据结构中的elem,elemtype是什么

数据结构中的elem,elemtype是什么elem是单词element(元素)的缩写,在程序定义中代表某一不确定的类型,也就是抽象的数据类型。为了使程序可读性强,并且便于修改,让elem代表多种的数据类型,也就是为int、char等等的数据类型,起了一个别名。ElemType是数据结构的书上为了说明问题而用的一个词。它是elementtype(“元素的类型”)的简化体。 因为数据结构是讨论抽象的数据结构和算法的,一种结构中元素的类型…

大家好,又见面了,我是你们的朋友全栈君。

elem是单词element(元素)的缩写,在程序定义中代表某一不确定的类型,也就是抽象的数据类型。
为了使程序可读性强,并且便于修改,让elem代表多种的数据类型,也就是为int、char等等的数据类型,起了一个别名。

ElemType是数据结构的书上为了说明问题而用的一个词。它是element type(“元素的类型”)的简化体。 因为数据结构是讨论抽象的数据结构和算法的,一种结构中元素的类型不一定是整型、字符型、浮点型或者用户自定义类型,为了不重复说明,使用过程中用“elemtype”代表所有可能的数据类型,简单明了的概括了整体。在算法中,除特别说明外,规定ElemType的默认是int型。

在头文件中定义:
typedef char elem;
/* 抽象元素类型为char类型,这样定义之后,下面的程序中elem所定义的元素就是char类型的了 */
如果需要修改其类型,直接修改char到其他类型,elem便又代表了所修改的类型数据,这也是方便性的体现。
例如,使用:typedef int ElemType;//定义ElemType为int类型

在定义结构体array的时候有这样一段:
typedef struct
{

ElemType data[maxsize];
int length;
}array;

在《数据结构》中,关于数据元素的类型定义均用“ ElemType e;”来表示,其中e是表示数据元素的变量,而ElemType则是它的类型,ElemType的含义就是“数据元素的类型”,是一个抽象的概念,是表示我们所要使用的数据元素应有的类型。

原文链接:https://blog.csdn.net/angle1020/article/details/80168091
原文链接:https://blog.csdn.net/mal327/article/details/6772252

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/144190.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • settime和setinterval_setinterval是异步还是同步

    settime和setinterval_setinterval是异步还是同步setTimeout和setInterval的语法相同。它们都有两个参数,一个是将要执行的代码字符串,还有一个是以毫秒为单位的时间间隔,当过了那个时间段之后就将执行那段代码。这两个函数的区别是:setInterval在执行完一次代码之后,经过了那个固定的时间间隔,它还会自动重复执行代码,而setTimeout只执行一次那段代码。有一次我没有分清,使用了setInterval,导致电脑崩溃了。setTimeout表面上是只执行一次,只是起到延迟作用。但是也可以通过创建一个函数循环重复调用…

    2022年10月4日
    0
  • Redis客户端连接时崩溃

    Redis客户端连接时崩溃文章目录1.Redis客户端连接崩溃1.Redis客户端连接崩溃把protected-model设置为no

    2022年5月6日
    34
  • Vue项目实战05:18n实现多语言自动切换-浏览器语言设置「建议收藏」

    Vue项目实战05:18n实现多语言自动切换-浏览器语言设置「建议收藏」什么是vue-i18ni18n是Internationalization这个英文的简写,即国际化的意思,vue-i18n是一款针对于vue开发的国际化插件,让项目支持多语言切换,以适应不同地区用户的需求。安装vue-i18n直接在项目中执行安装命令:npminstallvue-i18n–save​全局引入vue-i18n在项目中引入vue-i18n,实例化vue-i18n将需要加载的语言包通过require导入,这里看个人需求我只需要中英日文,所以引入zh-CN.js和en-US.j

    2022年6月4日
    33
  • squid 代理服务器[通俗易懂]

    squid 代理服务器[通俗易懂]squid代理服务器(包括正向代理服务器、反向代理服务器(cdn加速)squid调度器:负载均衡(缓解企业服务器的压力))1.什么是squid代理服务器?Squid是一个高性能的代理缓存服务器,Squid支持FTP、gopher、HTTPS和HTTP协议和一般的代理缓存软件不同,Squid用一个单独的、非模块化的、I/O驱动的进程来处理所有的客户端请求Squid是一种用来缓冲Inter…

    2022年5月27日
    40
  • RabbitMQ(三):Exchange交换器–fanout

    RabbitMQ(三):Exchange交换器–fanout

    2021年10月5日
    34
  • 【网络协议】数据链路层[通俗易懂]

    【网络协议】数据链路层

    2022年1月20日
    50

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号