matlab 里有现成的循环链表是非线性结构结构么可用么

[转载]matlab7.0版本中实现指链表,树等数据结构
似乎已经很久没来过这里了,一直都忙着美国数学建模,刚刚才结束,感觉结果不尽人意,但这种大型的比赛还是让我学到了很多,其中觉得最有用的就是这个在matlab7.0中实现指针的方法。指针对于实现数据结构而言是非常地重要的,可惜matlab却偏偏没设(2008a版本后就增加这个功能了,但08版本的实在太庞大,我机子上跑起来像头牛一样),于是我自己写了个静态链表建立的算法,包括建立初始化指针空间的函数,管理指针的函数(分配指针函数和释放指针的函数),整体上和c里的差不多。只是由于matlab函数只能传值传递参数的限制,操作起来略麻烦点稍有点不同。
建立初始化链表空间:
&&&&[L,Maintain]=InitList(N,'a1','a2','a3',......);
例子:现在需要建立一树,每个节点包含数据域,左指针域,和右指针域,估计需要的空间是100
&&&&[L,Maintain]=InitList(100,'Lcur','Rcur');
&&&&这样就得到一个主链表空间L,和一个维护数组Maintain。
&&&&1x100&struct&array&with&fields:
&&&&&&&&&&&&data
&&&&&&&&&&&&Lcur
&&&&&&&&&&&&Rcur
分配指针:
&&&&[P,Maintain]=Malloc(Maintain);
&&&&这里P就是分配到的指针号,注意一定要返回Maintain这个维护数组(因为matlab函数只能传值传递参数的原因)。然后就可操作了,比如L(P).data=1,赋值操作,和c里的P-&data=1差不多意思。
释放指针:
&&&&Maintain&=&Free(Maintain,P)
&&&&在这里P是要释放的指针
有了这几个函数,就能凑合的用了,构建小规模的链表,树等数据结构应该没问题,当然和真的指针还差很远,有点浪费内存。大家有什么好的建议提提吧。
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。本科学数据结构,什么链表,栈队列什么的,都有自己写结构,各种操作实现什么的,真正做项目还是用那些代_百度知道
本科学数据结构,什么链表,栈队列什么的,都有自己写结构,各种操作实现什么的,真正做项目还是用那些代
各种操作实现什么的,栈队列什么的,真正做项目还是用那些代码吗本科学数据结构,都有要写上吗,都有自己写结构,什么链表
你可以自建一个代码库,需要什么就调用什么 !
不是用stl吗?
其他类似问题
为您推荐:
其他1条回答
但是肯定不能是教材上面的结构看你做什么项目,做游戏的话,得自己完全理解,n多数据结构都要用上
不是用stl吗?
链表的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁工具类服务
编辑部专用服务
作者专用服务
基于优先级链表结构的大学排课算法设计与实现
针对计算机解决大学课程表问题的难点,提出使用优先级链表解决课表问题的贪心策略。该策略定义了特有的数据优先级权重,并以权重为基础生成排课数据的优先级链表,以优化设计编码,实现了一种基于链表操作的贪心排课算法。
Abstract:
This paper talks about the difficulties of the university time table problems, and pruposes using a priority list of the greedy strategy to solve the schedule problems. In this strategy, a specific priority weight of data is defined, and has generated the priority linked list structure data of university course scheduling based on priority weight, in that case the code has been optimized and a course scheduling by means of the greedy algorithm based on linked list operations has been realized.
作者单位:
柳州师范高等专科学校教务处,广西柳州,545004
年,卷(期):
Keywords:
机标分类号:
在线出版日期:
基金项目:
柳州师范高等专科学校科研基金项目,广西教育厅科研面上项目
本文读者也读过
相关检索词
万方数据知识服务平台--国家科技支撑计划资助项目(编号:2006BAH03B01)(C)北京万方数据股份有限公司
万方数据电子出版社数据结构单链表的 p-&next 跟p-&data分别表示什么意思_百度知道
数据结构单链表的 p-&next 跟p-&data分别表示什么意思
不是p-&gt?;data是表示什么?那p-&gt,还是p结点的下一个结点的地址;next表示的就是p结点的下一个结点所指元素的数值,是p结点所指元素的数值吗?
提问者采纳
data是一个数据指针域链表的节点包含两个要素,当然您说的p-&gt,无下一个节点的话一定要为NULL:要存储的数据:数据域:指向下一个节点的地址,可以是多数据
那p-&next=p是从p结点指向下一个结点的指针域吗
那应该是p = p-&next;是将指针p指向当前节点的下一个节点
提问者评价
太给力了,你的回答完美地解决了我的问题,非常感谢!
其他类似问题
为您推荐:
单链表的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁当前位置: >>
>> 浏览文章
matlab中实现链表的例子讲解
文章来源:不详 作者:佚名
matlab的例子中给了一个实现链表的例子,但是在matlab中无法直接使用,要想使用链表,需要将...\MATLAB\R2010a\help\ techdoc\matlab_oop\examples\@dlnode目录下的dlnode.m文件复制到工作路径下,然后就可以用它来定义链表节点了,一个节点有三个元素,即当前值,前一个和后一个。该类有6个成员函数,
dlnode & Constructs a node and assigns the value passed as input to the Data property
insertAfter & Inserts this node after the specified node
insertBefore & Inserts this node before the specified node
disconnect & Removes this node from the list
disp & Overloads default disp function so that the Data property displays on the command line for scalar objects and the dimension of the array displays for object arrays
delete & Removes this node from the list before it is destroye
&&&&&& 定义节点:
n1=dlnode(1);
n2=dlnode(2);
n3=dlnode(3);
然后再用两个函数将节点连接起来:
n2.insertAfter(n1)
n3.insertAfter(n2)
中国高校自动化网 All Rights Reserved.
信息产业部备案号:

我要回帖

更多关于 链表结构 的文章

 

随机推荐