~~~~(>_
首先看一下这种散列表的结构:
1.每个槽都令其为NULL,注意里面保存的都是指向Node的指针,而不是结点哦~
2.然后我这里把链表的头结点,比如上图的k1,k5,k8的prior指针指向了T这个散列表,因为这样删除的时候会比较简单。
3.注意删除链表中的第一个结点和尾结点时候的不同方法哦。。因为这个耽误了3天时间啊。。。
好了,代码如下:
#include
...
分类:
其他好文 时间:
2015-05-14 08:39:17
阅读次数:
168
最近在复习数据结构,顺便看看大一的时候写的代码,看完之后比当初有了更加深刻的体会。
希望这些能提供给初学者一些参考。
//1.编写算法实现线性表就地逆置的操作
void InverseList (SeqList l)
{
for (i = 0; i <= (l.length-1)/2; i++)
{
l.elem[i] l.elem[l.len...
分类:
编程语言 时间:
2015-05-13 21:58:41
阅读次数:
158
链表特点链表是通过任意的存储单元来存储线性表中的数据元素链表组成链表是由很对节点组成
带有头结点的单链表
typedef struct{
struct node *head;//链表的头结点
}LinkList;节点结构typedef struct node{
int data;
struct node *next;
}Node;链表的插入操作
首先得到插入位置的节点n...
分类:
其他好文 时间:
2015-05-12 17:09:37
阅读次数:
115
今天总结静态链表.
什么是静态链表?
我理解静态链表是一种伪链表,因为它没有使用指针。静态链表使用数组实现的,这个数组是一个结构体数组,结构体由数据域和指针域构成,与单链表不同的是,这个指针域并不是指针,而是一个整数,用来指向下一个结点(数组下标)。
静态链表中实际上相当于有两个链表,一个时实际数据所构成的一个链表,另一个是数组中空元素所构成的链表,称为空闲链表或备用链表,用来存放插入进来的...
分类:
编程语言 时间:
2015-05-10 15:44:25
阅读次数:
139
一、循环链表
什么是循环链表?
最后一个结点的链接又指回头结点(第一个结点)的链表,整个链表形成一个环。与单链表相比,操作时判断最后一个结点的条件为:结点的链接是否为头结点
空表
条件:L->next==L非空表 条件 p->next==L二、双向链表-什么是双向链表?
用两个链接表示元素间的逻辑关系,其一指向直接后继,其二指向直接前驱。算法描述
typedef struct D...
分类:
其他好文 时间:
2015-05-10 14:19:01
阅读次数:
114
今天总结线性表中的双向循环链表。
什么是双向循环链表?
看名字估计也就知道了,首相他是一个循环链表,也就是最后一个结点的指针域不为空,而是指向头结点,其次与单向循环链表相比,它是双向的。所谓双向,就是给每个结点再增加一个指针域,这个指针域指向前一个结点。
即是下面这样(来自百度图片):
为什么要用双向循环链表?
无论单链表还是单向循环链表,都只有一个指针域,它们都是直...
分类:
编程语言 时间:
2015-05-09 10:17:56
阅读次数:
228
一、单链表基本操作(1)清空单链表while(L->next){
p=L->next;
L->next=p->next;
free(p);
}分析:p 指向L的 next 域,L的 next域 在指向 p 的 next 域(p=L->next),其实就是L指向了 L 的 next 的 next 域.然后清空 p
不断循环,知道 L->next == NULL
(2)销毁单...
分类:
其他好文 时间:
2015-05-08 23:59:11
阅读次数:
325
一,单链表的插入
(1)单链表如何插入一个新元素呢?
在单链表中
有序对:
变成
图例:
注意:在单链表中插入只需要修改指针。若要在第 i 个结点之前插入元素,修改的是是第 (i-1) 个结点的指针。
(2)单链表的插入元素的代码怎么写呢?
代码如下: Status ListInsert(...
分类:
其他好文 时间:
2015-05-08 22:15:37
阅读次数:
129
线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构。这些类均在java.util包中。本文试图通过简单的描述,向读者阐述各个类的作用以及如何正确使用这些类。Collection├List│├LinkedList│├ArrayList│...
分类:
编程语言 时间:
2015-05-08 19:46:23
阅读次数:
104
链表介绍
链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针(Pointer)。
链表与数组的区别
链表和数组都叫可以叫做线性表,
数组又叫做顺序表,主要区别在于,顺序表是在内存中开辟一段连续的空间来存储数据,而链表是靠指针来连接多块不连续(也可以是连续)的空间,在逻辑上形成一片连续的空间来存...
分类:
编程语言 时间:
2015-05-08 13:08:52
阅读次数:
117