三、链表 链结点
在链表中,每个数据项都被包含在‘点“中,一个点是某个类的对象,这个类可认叫做LINK。因为一个链表中有许多类似的链结点,所以有必要用一个不同于链表的类来表达链结点。每个LINK对象中都包含一个对下一个点引用的字段(通常叫做next)但是本身的对象中有一个字段指向对第一个...
分类:
编程语言 时间:
2014-05-05 23:54:31
阅读次数:
561
指针与数组指针与其它数据结构呢?比如说链表?存储空间是非连续的。不能通过对指向这种数据结构的指针做累加来遍历。能不能提供一个行为类似指针的类,来对非数组的数据结构进行遍历呢?这样我们就能够以同样的方式来遍历所有数据结构(容器)。迭代器(Iterator)是指针(pointer)的泛化,它允许程序员以...
分类:
其他好文 时间:
2014-05-05 22:54:24
阅读次数:
596
首先看下面这个例子
public static void main(String[] args) {
ArrayList al1 = new ArrayList();
al1.add(1);
ArrayList al2 = new ArrayList();
al2.add("hello");
//int型链表和string型链表,结果为true
System.out.p...
分类:
编程语言 时间:
2014-05-03 22:02:53
阅读次数:
376
给定一个单链表,只给出头指针h:
1、 如何判断是否存在环?
证明:
slow首次在A点进入环路时,fast一定在环中的B点某处。设此时slow距head长为x,B点距A点长度为y,环周长为s。因为fast和slow的步差为1,所以slow前行距离为y的时候,恰好会被fast在M点追上。因为y
//判断单链表是否有环
public static boolean hasCyc...
分类:
其他好文 时间:
2014-05-03 16:38:30
阅读次数:
325
vector : 向量
list : 双向链表容器,提供数据结构中链表的所有功能
queue : 队列容器,提供数据结构中队列的所有功能
stack : 栈容器,提供数据结构中栈的所有功能
deque : 双端栈容器,提供数据结构中栈的所有功能
priority_queue : 优先队列,一种按值排序的队列容器
set : 集合容器
multiset : 允许出现重复元素的集合容器
...
分类:
其他好文 时间:
2014-05-02 21:23:00
阅读次数:
298
whether two nohead-linkedlist have the same end
个人信息:就读于燕大本科软件工程专业 目前大三;
本人博客:google搜索“cqs_2012”即可;
个人爱好:酷爱数据结构和算法,希望将来从事算法工作为人民作出自己的贡献;
博客内容:在无头节点的链表里删除元素;
博客时间:2014-4-15;
编程语言:C+...
分类:
其他好文 时间:
2014-05-01 18:13:31
阅读次数:
352
原题地址:http://oj.leetcode.com/problems/swap-nodes-in-pairs/题意:将链表中的节点两两交换。Given1->2->3->4,
you should return the list as2->1->4->3.解题思路:这题主要涉及到链表的操作,没什么...
分类:
编程语言 时间:
2014-05-01 06:44:21
阅读次数:
339
Given a singly linked list L: L0→L1→…→Ln-1→Ln,
reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→…
You must do this in-place without altering the nodes' values.
For example,
Given {1,2,3,4}, reorder it to ...
分类:
其他好文 时间:
2014-04-29 13:42:21
阅读次数:
427
使用函数操作链表
1:计算链表中结点的个数:定义一个Length_list()函数用于计算链表中结点的个数
函数代码:
//计算链表中结点的个数
void Length_list(PNODE pHead)
{
PNODE p = pHead->pNext;
int len = 0;
while(NULL != p)
{
len++;
p = p->pNext;
...
分类:
其他好文 时间:
2014-04-29 13:28:21
阅读次数:
302