今天对之前学习过的链表知识进行简单的总结顺便写点代码;创建一个链表有头插法跟尾插法两种,在下面代码中我们为结点分配的内存实在堆上分配的,因此需要我们手动释放,释放用free()函数 下面代码贴出具体代码: 1 #include 2 #include 3 4 struct person { ...
分类:
编程语言 时间:
2015-09-05 17:41:42
阅读次数:
296
本文包含以下内容: 1、单链表的创建和遍历 2、求单链表中节点的个数 3、查找单链表中的倒数第k个结点(剑指offer,题15) 4、查找单链表中的中间结点 5、合并两个有序的单链表,合并之后的链表依然有序【出现频率高】(剑指offer,题17) 6、单链表的反转【出现频率最高】(剑指offer,题...
分类:
编程语言 时间:
2015-09-04 23:59:20
阅读次数:
552
1 *单链表的创建及操作 2 #include 3 #include "malloc.h" 4 #include 5 #define ElemType int 6 using namespace std; 7 //定义线性表的单链表存储结构 8 typedef struct Ln...
分类:
其他好文 时间:
2015-09-04 07:18:40
阅读次数:
231
双向链表的定义 双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循环链表。 注意:在实现的过程中,要分清前驱指针和后继指针,不要把他们当成一个指针。1 .....
分类:
其他好文 时间:
2015-06-26 14:57:09
阅读次数:
174
本文主要讲的是各种链表的基本操作,包括单向链表、单向循环链表以及双向链表。主要是关于链表的创建、删除、插入、打印数据。基本操作的实现是通过递归来实现的。...
分类:
其他好文 时间:
2015-06-18 11:36:00
阅读次数:
125
链表是一种动态数组,各个节点在内存中零散分布,通过指向下一个节点的指针连结在一起。单链表应该是最简单的一种链表了,单链表的每个节点中都有一个指向下一个节点的指针,最后一个节点指向NULL,有一个头指针指向第一个节点。下面的函数实现了单链表的创建,销毁和删除节点的功能。在添加节点的时候,有种实现方法是...
分类:
编程语言 时间:
2015-05-17 23:33:59
阅读次数:
167
本题比较简单,主要考察了单链表的创建与删除。
但是有一个问题需要着重的考虑,如何快速定位链表的倒数第n个节点。这就需要两个辅助节点,一个节点先走到正数第n个位置,然后两个辅助节点一块往后走,最后后面的节点的位置就是我们需要的倒数第n个节点。#include
#include
struct ListNode//定义节点
{
int value;
struct ListNode *ne...
分类:
其他好文 时间:
2015-04-12 22:49:42
阅读次数:
236
#include#includetypedef struct node{ int data; struct node * next;}*P_node,node;P_node CreateNode(int x)//开辟节点,创建节点{ P_node q=(P_node)malloc(sizeof(no...
分类:
其他好文 时间:
2015-04-03 20:48:23
阅读次数:
110
第一次写代码的博客,一个刚刚接触的新手,来这里主要是为了记录自己,方便自己以后浏览,也欢迎大家指正。先来个简单的,动态链表的创建和遍历。#include#include#include//定义链表的节点typedef struct LNode{ int data; struct LNod...
分类:
编程语言 时间:
2015-03-19 08:49:27
阅读次数:
125