题目描述
输入一个链表,从尾到头打印链表每个节点的值。返回新链表的头结点。解题思路用栈保存结点指针,先进后出,依次输出出栈的各节点的值。实现代码/**
* struct ListNode {
* int val;
* struct ListNode *next;
* ListNode(int x) :
* val(x), next(NU...
分类:
其他好文 时间:
2015-04-27 21:48:49
阅读次数:
139
有头结点的链表统一了算法的实现,无头节点减少了节点个数,但是只有根据实际情况选用真正的有无头接链表
待续://代码实现
待续://代码实现
待续://代码实现...
分类:
其他好文 时间:
2015-04-26 10:51:09
阅读次数:
1070
/* 题意:给一个链表以及一个val值要去除链表中与val值相等的节点 解法:给链表加一个头结点因为可能开始第一个节点值就与val值相等 方便操作,然后循环删除就好*//** * Definition for singly-linked list. * struct ListNod...
分类:
其他好文 时间:
2015-04-23 23:17:03
阅读次数:
169
#include #include #include typedef struct Node{ int data; struct Node *next;}NODE;void Create_List(NODE *L){ int n; NODE *p,*r; r=L; ...
分类:
其他好文 时间:
2015-04-18 12:45:37
阅读次数:
209
#include #include #include typedef struct LinkList{ int data; struct LinkList *next;}NODE;NODE* Create_List(){ int n; NODE *p,*r,*L=(NODE*...
分类:
其他好文 时间:
2015-04-18 11:22:17
阅读次数:
258
首先要强调的是,ADT没有变化,只是实现上的变化。不带头结点的实现比带头结点的实现稍微复杂一些,尤其体现在插入(第58-60行)和删除(第88-91行),要单独处理表头改变的情况。而带头结点的链表表头不会变化,总是指向头结点。其他操作的不同之处同学们自行比较。下面的问题会帮助你的理解:第83行 wh...
分类:
其他好文 时间:
2015-04-16 19:37:29
阅读次数:
222
1.两个链表都带有头结点Node* Merge(Node* head1, Node* head2){ if(head1==NULL || head1->next==NULL) return head2; if(head2==NULL || head2->next==NULL) ret...
分类:
其他好文 时间:
2015-04-16 06:44:16
阅读次数:
110
循环链表是另一种形式的链表,他的特点是表中最后一个结点的指针域指向头结点,整个链表形成一个环。由此,从表中任一结点出发均可找到表中其他节点。
循环链表的结构图如下:
循环链表的操作和之前的写过的单链表的操作是基本一致的,所以我就不再给出详细的代码,我来说说它们之间的不同:循环链表与单链表的差别在于算法之中的循环条件不是p或者p->next 是否为空,而变成了它们是否等于头指针。
循环链表...
分类:
其他好文 时间:
2015-04-15 21:35:42
阅读次数:
146
数据结构之链表
数据结构的第一章就是链表,链表是其他结构的基础,包括栈,树等等,链表由节点组成,其中在最前边有头指针和头结点组成其中,头指针是一个链表必要的元素,头结点可以使链表更为同一,但是头结点并非是一个链表的必要的元素。现在以一个结构体为一个节点,一个节点包含数据域,指针域两个部分,数据域用来存储需要存储的内容,指针域存储下一个结构体的地址。
typedef struct ...
分类:
其他好文 时间:
2015-04-15 01:02:10
阅读次数:
167
一.链表的基本概念单链表 : n个结点链接成一个链式线性表的结构叫做链表,当每个结点中只包含一个指针域时,叫做单链表表头结点:链表中的第一个结点,包含指向第一个数据元素的指针以及链表自身的一些信息 如长度等数据结点:链表中代表数据元素的结点,包含指向下一个数据元素的指尾结点: 链表中的最后一...
分类:
其他好文 时间:
2015-04-14 12:44:34
阅读次数:
136