第三章链表和矩阵.docVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三章链表和矩阵.doc

第三章 链表和矩阵 链表和矩阵是MMP的两个基本数据类型,本章将分别就这两个主题介绍相关的基本运算指令。 链表的运算 append 调用:append (list, atom) 参数:list 是一个表 atom是一个元素 说明:若atom不在list中,则将atom加到list的最后,形成新表返回, 否则,返回原表。 示例: append ([1,2,3,4],5); [1,2,3,4,5] append ([1,2,3,4],4); [1,2,3,4 ] append ([a,b,c,d],[e,f]); [a,b,c,d,[e,f]] insert 调用:insert(list, atom, pos) 参数:list是一个表   atom是一个元素    pos是一个正整数 说明:将元素atom插入到表list的第pos个元素之前,形成新表返回。 若表list的长度为n,则1= pos = n+1。 示例: insert([1,2,3,4],a,1); [a,1,2,3,4] insert([a,b,c,d],[c,d],2); [a,[c,d],b,c,d] insert([1,2,3,4],a,5); [1,2,3,4,a] merge 调用:merge(l1,l2) 参数:l1 是一个表    l2 是一个表 说明:链表的合并,即把链表l2的结点直接插入链表l1的表尾,形成新表返回。 示例: merge([1,2,3],[3,4,5]); [1,2,3,3,4,5] first 调用:first(list) 参数:list 是一个表 说明:返回表list中的第一个元素 示例: first([10,20,30,40]); 10 last 调用:last(list) 参数:list是一个表 说明:返回表list中的最后一个元素 示例: last([10,20,30,40]); 40 rest 调用:rest(list) 参数:list 是一个表 说明:返回将表list中的第一个元素去掉后形成的表 示例: rest([1,2,3,4]); [2,3,4] rest([a]); [] part 调用:part(list, pos) 参数:list 是一个表 pos是一个正整数 说明:返回表list中的第pos个元素, pos从1开始计数。 示例: part([10,20,30,40],3); 30 part([a,b,c,[e,f]],4); [e,f] find 调用:find(atom, list) 参数:atom 是一个元素 list是一个表 说明:检查元素atom是否在表list中。如果atom在list中,返回它在list中第一次出现的位置(索引值) ;否则返回0。 示例: find(a,[1,2,a,b,c,a]); 3 find([a,b],[1,2,[a,b],3,[a,b]]); 3 find(a,[1,2,3,4]); 0 replace 调用:replace (list, atom, pos) 参数:list是一个表   atom是一个元素    pos是一个正整数 说明:将表list的第pos个元素替换为元素atom,形成新表返回。 示例: replace([1,2,3,4],a,1); [a,2,3,4] replace([a,b,c,d],[c,d],2); [a,[c,d],c,d] equal 调用:equal (list1, list2) 参数:list1是一个表   list2是一个表 说明:判断表list1和表list2是否相等, 相等则返回1,不相等则返回0。 示例: equal([1,2,3,4],[1,2,3,4]); 1 equal([a,b,c,d],[c,d,a,b]); 0 union 调用: union(list1,list2) 参数: list1是一个表   list2是一个表 说明: 返回表list1和表list2的并集 示例: union([1,2,3,4],[2,3,6,7]); [1,2,3,4,6,7] intersect 调用: intersect(list1,list2) 参数: list1是一个表   list2是一个表 说明: 返回表list1和表list2的交集 示例: intersect([1,2,3,4],[2,3,6,7]); [2,3] minus 调用: minus(list1,list2) 参数: list1是一个表   list2是一个表 说明: 返回表list1和表list2的差集 示例: minus([1,2,3,4],[2,3

文档评论(0)

ziyouzizai + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档