一.链表学习数据结构链表的时候,就有区分 带头结点的链表和不带头结点的链表当时写完带头结点的链表的基本操作算法后,又写了一遍不带头结点的链表的基本操作。发现是否带头结点的区别主要体现在2个操作的算法上:插入和删除不带头结点的链表的插入和删除操作因为涉及对第一个结点插入删除,会改变头指针的值,需要对第...
分类:
其他好文 时间:
2015-07-26 11:04:59
阅读次数:
192
栈是最常见的数据结构,其特点是后进先出(Last In First Out)也是链表的特殊形式,所以和链表一样,有两种存储方式,第一是顺序存储的栈,方便快速读写数据,但是栈的长度必须先固定;第二种是链式存储的栈,可以不用定义栈的长度,可以大量插入数据,如果不是物理内存使用完的话,可以存储大量的数据。
首先,顺序存储的栈的实现,代码如下:
#pragma once
#define MAXSIZE...
分类:
编程语言 时间:
2015-07-25 18:37:30
阅读次数:
190
如何检测一个链表是否有环?这个是一个出现频率较高的面试题。
??如下是一个含有环的链表。
(图片来自http://www.nowamagic.net/librarys/veda/detail/2245
一个有很多关于数据结构的文章的网站,还有其他的资料,可以看看)
我这里解题的方法有三种:
快慢指针方法:两个速度不一样的指针遍历总会相遇;
利用环的顶点数和边相等的关系;
两个指针遍历判断...
分类:
编程语言 时间:
2015-07-20 12:57:24
阅读次数:
242
Java版链表逆置
定义数据结构:
/**
* 链表的数据结构
*/
class LinkedListArray {
/**
* value
*/
Object value;
/**
* 下个节点
*/
LinkedListArray next = null;
public void setValue(Ob...
分类:
编程语言 时间:
2015-07-14 13:47:52
阅读次数:
176
第十二章 利用结构和指针这章就是链表。先单链表,后双向链表。总结:单链表是一种使用指针来存储值的数据结构。链表中的每一个节点包括一个字段,用于指向链表的下一个节点。有一个独立的根指针指向链表的第1个节点。单链表仅仅能从一个方向遍历。怎样insert单链表:1、新节点的link字段必须设置为指向它的后...
分类:
其他好文 时间:
2015-07-13 21:59:51
阅读次数:
84
链表是一种常用的数据结构,有单链表, 双向链表及其循环链表之分.
插入操作是链表的基本操作之一.但大部分人在初学时,多少会感到有些迷惑.
下面时本人的一些小经验.
1 后向插入和前向插入
假设当前节点为P.
后向插入是指在p节点后插入新节点.
前向插入是指在p节点后插入新节点.
对于单链表而言,只有后向插入.
2 基本规律
1) 先...
分类:
其他好文 时间:
2015-07-03 14:08:55
阅读次数:
130
#include
#include
#include
typedef struct Node
{
int data;//数据域
struct Node * pNext;//指针域
}NODE, * PNODE; //NODE等价于struct Node, PNODE 等价于struct Node *
//函数声明
void create_list(PNODE pHead);//创建一个动态链表
void traverse_list(PNOD...
分类:
编程语言 时间:
2015-06-30 22:10:14
阅读次数:
158
链表是一种数据结构,链表在循环遍历的时候效率不高,但是在插入和删除时优势比较大。链表由一个个节点组成。单向链表的节点分为两个部分:存储的对象和对下一个节点的引用。注意是指向下一个节点。而双向链表区别于单向链表的是它是由三个部分组成:存储的对象、对下一个节点的引用、对上一个节点的引用,可以实现双向遍历...
分类:
编程语言 时间:
2015-06-17 19:41:19
阅读次数:
238
一、实验内容
约瑟夫(Joseph)问题的一种描述是:编号为1,2,…,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数。报m的人出列,将他的密码作为新的m值,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有人全部出列为止。试设计一个程序求出出列顺序。
二、实验目的
掌握...
分类:
编程语言 时间:
2015-06-15 11:24:15
阅读次数:
136
在下面的这两篇文章中,已经讨论过了单链表和双向链表的基本情况。
"单链表 - 基本介绍以及插入节点",点此链接。
"双向链表(1) - 基本介绍以及插入节点",点此链接。
循环链表是一个所有节点相互连接,形成一个环的数据结构。链表尾部没有null节点。循环链表可以是一个单向链表,也可以是双向链表。
循环链表的好处:
1) 任何节点都可以做为头节点。 可以从任何节点开始...
分类:
其他好文 时间:
2015-06-15 01:47:22
阅读次数:
190