- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Doubly Linked Lists Carnegie Mellon School of (双链表的卡内基梅隆大学上学)
Lecture 11
Doubly Linked Lists
Array of Linked Lists
In this lecture
• Doubly linked lists
• Array of Linked Lists
• Creating an Array of Linked Lists
• Representing a Sparse Matrix
• Defining a Node for a Sparse Matrix
• Exercises
• Solutions
Doubly Linked Lists
A doubly linked list is a list that contains links to next and previous nodes. Unlike singly
linked lists where traversal is only one way, doubly linked lists allow traversals in both
ways. A generic doubly linked list node can be designed as:
typedef struct node {
void* data;
struct node* next;
struct node* prev;
} node;
node* head = (node*) malloc(sizeof(node));
The design of the node allows flexibility of storing any data type as the linked list data.
For example,
head data = malloc(sizeof(int)); *((int*)(head data)) = 12;
or
head data = malloc(strlen(“guna”)+1); strcpy((char*)(headdata), “guna”);
Copyright @ 2009 Ananda Gunawardena
Inserting to a Doubly Linked Lists
Suppose a new node, newnode needs to be inserted after the node current
current newnode
The following code can then be written
newnode next = currentnext; currentnext = newnode;
newnodeprev = current; (newnodenext)prev = newnode;
Deleting a Node from a Doubly Linked Lists
Suppose a new node, current needs to be deleted
current
The following code can then be written
node* N = currentprev
N next = currentnext;
(Nnext)prev = N;
free(current);
您可能关注的文档
- Database Management System as a Cloud Service(数据库管理系统作为云服务).pdf
- Database Administration Oracle Standards(Oracle数据库管理标准).pdf
- Data Visualization Past, Present, and Future(数据可视化的过去、现在和未来).pdf
- DAVID G.V. SMITH Managing Director, Triple (董事总经理大卫·史密斯逝者,三重).pdf
- David I. Spivak MIT Mathematics(大卫·斯皮瓦克。麻省理工学院数学).pdf
- DC Power Circuit Breaker Basics IEEE(直流电源断路器IEEE基础知识).pdf
- DCDC Converter Based On Cascade Cockcroft (基于级联科克罗夫特DCDC变换器).pdf
- Day Trading Skill 110523 BerkeleyHaas(110523 BerkeleyHaas日间交易技能).pdf
- DC VI Errata Paizo(直流VI勘误表Paizo).pdf
- Debian and Windows Shared Printing mini (Debian和Windows共享印刷迷你).pdf
文档评论(0)