单链表删除某一位置节点的程序十分容易,但也容易出错。网上流传的一些程序并不正确。
这一程序的关键点在于:删除某一位置节点,那么需首先确定其前驱结点。前驱节点存在一些特例情况:当前节点为空、当前非空但后继为空(尾节点)。
同时,还要进行断言以及待删节点为首节点的相关处理。完整程序如下:
#include "stdafx.h"
#include
#include
typedef struc...
分类:
其他好文 时间:
2015-08-13 14:27:49
阅读次数:
185
题意:
现在给你一些数据输入,第一个代表的是体积,第二个代表的是它的速度。然后题目让你找到当体积递增但是速度递减时的最长的一个子序列,注意这里体积是要严格的递增的,速度则是要严格的递减的。最后要你把他们的序号输出。
思路:
是不是有点感觉像LIS问题。但是这里还是有点差别的。因为它要让你记录。
首先我们先对体积从小到大排序,然后我们对速度进行最长递减子序列的查询。
这里的记录前驱和我们上...
分类:
其他好文 时间:
2015-08-12 14:46:18
阅读次数:
130
对于一个数来说,它的除数是确定的,那么它的前驱也是确定的,而起点只能是1或2,所以只要类似筛法先预处理出每个数的除数个数,然后递推出每个数往前的延伸的链长,更新最大长度,记录对应数字。找到maxn以后,根据最后一个数找到前驱,并记录到ans数组中。代码来自队友#include#include#inc...
分类:
其他好文 时间:
2015-08-11 07:09:50
阅读次数:
359
#include
#include
#define MaxSize 100
/*线索二叉树类型定义*/
typedef char DataType;
typedef enum {Link,Thread}PointerTag;//Link=0表示指向孩子节点,Thread=1表示指向前驱节点或后继节点
typedef struct Node{
DataType data;
struct Node...
分类:
其他好文 时间:
2015-08-10 00:23:31
阅读次数:
103
首先读完这题第一印象,是个裸题,很高兴。其次在打完代码之后,第二印象,很恶心,Treap的代码太长了,我今天下午敲了三遍,手都麻了。 废话不多说,正题。其实这个题不难,有几个点是很好的,首先,他的a值没有重复的,这就保证了你找前驱和后继的正确性,再次,没有宠物和人会同时在收养所内,那么你找的前...
分类:
其他好文 时间:
2015-08-08 19:48:20
阅读次数:
216
第二章 线性表
2.1 线性表及其基本运算
2.2 线性表的顺序存储结构
2.3 线性表的链式存储结构
1、线性表:是n个数据元素的有限序列。
直接前驱元素、直接后继元素,n = 0时,称为空表。
一个数据元素可以有若干个数据项组成。在这种情况下,常把数据元素称为记录,含有大量记录的线性表又称为文件。...
分类:
其他好文 时间:
2015-08-06 22:37:43
阅读次数:
192
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5172
题意:给出n个数,m个询问,问你[l,r]区间内是否为1到r-l+1的全排列。 大小很容易我们通过记录前缀和很容易求出来,但是关键是去重。 考虑线段树做法,我们记录每个点的靠左最近的相同元素的位置,然后求 整个区间的最大值(即最大的前驱)如果小于l,即满足条件,输出YES。
好吧,其实这个题...
分类:
其他好文 时间:
2015-08-04 21:11:56
阅读次数:
113
DES:给出起点和终点。给出所有小岛的编号。所有路径的起始点。和遇到怪物的概率。要求在最短路的条件下维护遇见怪物的概率最小的路径。就是用 SPFA算法。每条路的权值设为1。最短路即为途径的岛数最少。同时要用pre数组维护每个点的前驱。最后递归输出所走路径。把p变为不遇见怪物的概率, 即为维护p最大。...
分类:
其他好文 时间:
2015-07-29 11:56:32
阅读次数:
156
线索二叉树的遍历,就是在已经建立后的线索二叉树中,根据线索查找结点的前驱和后继。利用在线索二叉树中查找结点的前驱和后继的思想,遍历线索二叉树。#include
#include
#include
#define MAXSIZE 100
typedef char ElemType;
typedef enum
{
Link,/*指向孩子结点*/Thread/*...
分类:
其他好文 时间:
2015-07-28 21:09:29
阅读次数:
125
1.线性表概念
线性表是由零个或者多个数据元素组成的有序的序列。
图示:
2.特点
2.1 有序
我们可以从上图看见,线性表里面的元素是一个挨着一个顺序排下去的,就像平常小朋友排队等放学的样子
2.2 允许零元素,也就是空表
2.3 第一个元素有且仅有一个后继,最后一个元素有且仅有一个前驱,其他元素有且仅有一个前驱以及有且仅有一个后继
我们可以从上图看见,线性表里面第一...
分类:
编程语言 时间:
2015-07-28 16:00:20
阅读次数:
110