双链表增删改查(Double linked list CRUD).docVIP

双链表增删改查(Double linked list CRUD).doc

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

双链表增删改查(Double linked list CRUD) Two way linked list is actually an improvement of single linked list. When it is used to operate a single linked list, sometimes it is necessary to operate the direct predecessor of a node, and it must start with the header. Because a single list of each node has only one successor node direct memory address of the training domain, so the use of a single list cannot do, so it leads to not only a direct successor node address of the storage and storage practice domain, direct predecessor node address training domain to struct node. (1) establish a two-way linked list Typedef struct DbNode { Int data; / / node data DbNode *left; / / pointer precursor node DbNode *right; / / pointer successor node }DbNode; Create a doubly linked list (for convenience), as defined here are 3 functions) as follows: CreateNode () creates a node based on the data to return the newly created node. The CreateList () function creates the list header of a linked data and returns the header node. The AppendNode () function always inserts a new node at the end of the table (its internal strip is generated with CreateNode () nodes and returns the header node. According to the data / / create a node DbNode *CreateNode (int data) { DbNode *pNode = (DbNode *) malloc (sizeof (DbNode)); PNode-data = data; PNode-left = NULL; / / create a new node, PNode-right = NULL; / / make precursor and successor pointers are NULL Return pNode; } / / create list DbNode *CreateList (int head) / / parameter header node data {/ / header node as a meaningful data storage node DbNode *pNode = (DbNode *) malloc (sizeof (DbNode)); PNode-data = head; PNode-left = NULL; PNode-right = NULL; Return pNode; } / / always insert a new node at the end of the table, return the header node DbNode *AppendNode (DbNode, *head, int, data) { DbNode *node = CreateNode (data); DbNode *p = head; DbNode *q = NULL; While (NULL = = P) { Q = p; P = p-right; } Q-right = node; Node-left = q; Return head; } You can

文档评论(0)

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

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

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档