编码实现环状单向链表(尾指针直接指向头指针,中间没有空节点),去除连续的重复元素的操作。
比如:1(头)->2->2->3->3->1->1(头) 去除以后的结果是1->2->3,注意头尾的1也要去掉一个。
//时间复杂度为O(N)
//空间复杂度为O(1)
//代码如下:
#include
#include
#include
#include
#include
#i...
分类:
其他好文 时间:
2015-08-05 22:20:05
阅读次数:
110
给出一个链表的头指针,要求找到倒数第k个节点,并输出这个节点的值例子:先看一个例子,链表为:1 2 3 4 5 6,倒数第2个节点就是5,倒数第一个节点就是6,以此类推。这里的链表有头节点,就是说head->next才是指向第一个节点的。链表的数据结构如下:1 // ListNode2 typede...
分类:
其他好文 时间:
2015-08-05 21:46:59
阅读次数:
191
//_DataStructure_C_Impl:顺序循环队列
#include
#include
#define QueueSize 10 //定义顺序循环队列的最大容量
typedef char DataType;
typedef struct Squeue{ //顺序循环队列的类型定义
DataType queue[QueueSize];
int front,rear; //队头指针...
分类:
其他好文 时间:
2015-08-05 06:41:32
阅读次数:
116
//_DataStructure_C_Impl:顺序队列
#include
#include
#define QueueSize 50
typedef char DataType;
typedef struct Squeue{ //顺序队列类型定义
DataType queue[QueueSize];
int front,rear; //队头指针和队尾指针
}SeqQueue;
//将顺序队列...
分类:
其他好文 时间:
2015-08-05 06:40:14
阅读次数:
121
给定一个单链表,只给出头指针h:1、如何判断是否存在环?2、如何知道环的长度?3、如何找出环的连接点在哪里?4、带环链表的长度是多少?解法:1、对于问题1,使用追赶的方法,设定两个指针slow、fast,从头指针开始,每次分别前进1步、2步。如存在环,则两者相遇;如不存在环,fast遇到NULL退出...
分类:
其他好文 时间:
2015-07-28 22:53:21
阅读次数:
157
一.链表学习数据结构链表的时候,就有区分 带头结点的链表和不带头结点的链表当时写完带头结点的链表的基本操作算法后,又写了一遍不带头结点的链表的基本操作。发现是否带头结点的区别主要体现在2个操作的算法上:插入和删除不带头结点的链表的插入和删除操作因为涉及对第一个结点插入删除,会改变头指针的值,需要对第...
分类:
其他好文 时间:
2015-07-26 11:04:59
阅读次数:
192
线性表的链式存储结构,也称之为链式表,链表;链表的存储单元可以连续也可以不连续。
链表中的节点包含数据域和指针域,数据域为存储数据元素信息的域,指针域为存储直接后继位置(一般称为指针)的域。注意一个头结点和头指针的区别:
头指针:
指向链表的第一个节点的指针,若链表有头结点,则是指向头结点的指针;
头指针具有标识作用,所以常用头指针作为链表的名字;
不论链表是否为空,头指针都不为空;
是链表的必...
分类:
编程语言 时间:
2015-07-19 00:14:40
阅读次数:
196
头指针存放链表元素数量,头节点开始存放数据,尾节点指向NULL list.h#ifndef _LIST_H#define _LIST_H#include #include #define DEBUG 0typedef struct node{ int val; struct nod...
分类:
其他好文 时间:
2015-07-18 12:16:47
阅读次数:
140
LeetCode——4Sum & 总结
有人对 Leetcode 上 2Sum,3Sum,4Sum,K Sum问题作了总结:
http://blog.csdn.net/nanjunxiao/article/details/12524405
对于同类问题做了代码模型:int i = starting; //头指针
int j = num.size() - 1; //尾指针...
分类:
其他好文 时间:
2015-07-13 20:44:02
阅读次数:
98
3Sum题目描述:给定一个整数数组,找出其中的三个数之和为0的所有组合(排除相同的组合)。分析:利用TwoSum 中两指针的思路,我们可以先将数组排序。要找到3个数之和为0,我们可以先固定一个数num[i],将i+1和len-1分别作为头指针和尾指针,当num[i]、num[i+1]与num[len...
分类:
其他好文 时间:
2015-07-09 00:30:56
阅读次数:
122