关于 **c语言** ADT抽象数据类型的不解。

jixiuffff jixiuffff 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我不解的是在c语言中,如何使用像List ,Queue等数据结构,难道每次用到的时候都要自己实现 List,Queue等的增删的操作,
最近看了一些关于c 的ADT的部分,好像为了通用性, 都会定义一个 typedef YourStruct Item ,然后List Queue 等都针对 Item进行操作,感觉虽然有了点通用性,但是typedef Item 时,已经固定Item的类型了,似乎 在同一个文件不能对不同的类型使用此List 操作。比如,某List 里存放int 型的,另一个list存放float型 。
我想知道的是在实际c 编程时是怎样进行处理的。 。

之前我问过这个问题,原本以为我懂了,后来一想又有一些想不通的地方
http://topic.csdn.net/u/20120529/16/4c2a75b9-264a-4631-b53e-34d317eda634.html


typedef int Item;

struct node {
Item item;
struct node * left;
struct node * right;
};

typedef struct node node_t;

struct tree{
node_t * root;
int size;
};

typedef struct tree tree_t;

对于加入树中的Item ,似乎应该是malloc来的,
否则如果是局部变量 ,退出函数时,加到tree里的Item 其实已经无法访问 (我是这样认为的)
有人说用 void* 类型来代替 Item ,
我想不通的是对于像int ,等 基本类型,难道也要 malloc一下,才存到 tree 中 ..
...全文

相关推荐

ADT_C语言ADT_

为类型的属性和可对类型执行的操作提供一个抽象的描述。不受特定的实现和编程语言的约束。这种正式的抽象描述被称为抽象数据类型(Abstract Data Type,ADT)。C语言ADT,仅供学习使用。

浊池

【数据结构】第一章:绪论

一般来说,用计算机解决一个具体问题时,大致需要经过下列几个步骤:首先要从具体问题抽象出一个适当的数学模型,然后设计一个解此数学模型的算法,最后编出程序进行测试、调整直至得到最终解答。寻求数学模型的实质是分析问题,从中提取操作的对象,并找出这些操作对象之间含有的关系,然后用数学的语言加以描述。例如,求解梁架结构中应力的数学模型为线性方程组;预报人口增长情况的数学模型为微分方程。然而更多的非数值计算问题无法用数学方程加以描述。例1图书馆的书目检索系统自动化问题例2 计算机和人对弈问题。

云舒卷云

从指针到链式栈与队列:C语言核心数据结构实战指南

指针是C/C++等编程语言中直接操作内存地址的核心概念,它通过存储变量地址来实现对数据的间接访问,是理解计算机内存模型的基础。其原理在于通过取址和解引用操作,程序能够高效地管理动态内存和构建复杂的数据结构。掌握指针对于实现链表、栈、队列等动态数据结构至关重要,这些结构在系统编程、嵌入式开发及算法实现中广泛应用。链表通过节点和指针链接实现动态增删,克服了数组固定大小的限制。基于链表实现的链式栈遵循后进先出原则,常用于函数调用栈和回溯算法;链式队列则遵循先进先出原则,适用于任务调度和消息队列等场景。本文聚焦于*

weixin_34267123

抽象数据类型(三元组ADT、复数四则运算)

抽象数据类型(三元组ADT、复数四则运算) 数据结构 湖南大学

ronhou

c语言ADT集合

c语言ADT抽象数据类型版创建集合This assignment is about Abstract Data Types (ADTs). One such ADT, to implement a simple (resizeable) 1D Array, is provided and then you are expected to create one, in a similar style, to implement sets. The framework for testing both the Array ADT, and your own Set ADT (when you’ve finished it) are provided in the form of test .c files, and a Makefile to take care of the compilation.

walkmanlihan
评论 20
收藏 已收藏
分享
返回顶部
jixiuffff
C语言 70,039 成员 243,237 内容