2012年9月25日
摘要: 一、循环链表 循环链表是与单链表一样,是一种链式的存储结构,所不同的是,循环链表的最后一个结点的指针是指向该循环链表的第一个结点或者表头结点,从而构成一个环形的链。 循环链表的运算与单链表的运算基本一致。所不同的有以下几点: 1、在建立一个循环链表时,必须使其最后一个结点的指针指向表头结点,而不是象单链表那样置为NULL。此种情况还使用于在最后一个结点后插入一个新的结点。 2、在判断是否到表尾时,是判断该结点链域的值是否是表头结点,当链域值等于表头指针时,说明已到表尾。而非象单链表那样判断链域值是否为NULL。 二、双向链表 双向链表其实是单链表的改进。 当我们对单链表进行操作... 阅读全文
posted @ 2012-09-25 21:49 543fly 阅读(193) 评论(0) 推荐(0) 编辑
  2012年9月23日
摘要: 这个问题属于卡特兰数(h(n)=C(2n,n)/(n+1) (n=1,2,3,...))的应用,共有c(2n,n)-c(2n,n+1)=1/(n+1)*c(2n,n)中方式出栈。对于每一个数来说,必须进栈一次、出栈一次。我们把进栈设为状态‘1’,出栈设为状态‘0’。n个数的所有状态对应n个1和n个0组成的2n位二进制数。由于等待入栈的操作数按照1‥n的顺序排列、入栈的操作数b大于等于出栈的操作数a(a≤b),因此输出序列的总数目=由左而右扫描由n个1和n个0组成的2n位二进制数,1的累计数不小于0的累计数的方案种数。 在2n位二进制数中填入n个1的方案数为c(2n,n),不填1的其余n位自动. 阅读全文
posted @ 2012-09-23 13:36 543fly 阅读(607) 评论(0) 推荐(0) 编辑
  2012年9月15日
摘要: 由于 C 和 C++ 程序中完全由程序员自主申请和释放内存,稍不注意,就会在系统中导入内存错误。同时,内存错误往往非常严重,一般会带来诸如系统崩溃,内存耗尽这样严重的后果。从历史上看,来自计算机应急响应小组和供应商的许多最严重的安全公告都是由简单的内存错误造成的。自从 70 年代末期以来,C/C++ 程序员就一直讨论此类错误,但其影响在 2007 年仍然很大。与许多其他类型的常见错误不同,内存错误通常具有隐蔽性,即它们很难再现,症状通常不能在相应的源代码中找到。例如,无论何时何地发生内存泄漏,都可能表现为应用程序完全无法接受,同时内存泄漏不是显而易见[1]。存在内存错误的 C 和 C++ 程序 阅读全文
posted @ 2012-09-15 13:33 543fly 阅读(257) 评论(0) 推荐(0) 编辑
  2012年9月11日
摘要: // stdafx.h : 标准系统包含文件的包含文件,// 或是常用但不常更改的项目特定的包含文件//#define TRUE 1#define FLASE 0#define OK 1#define ERROR 0#define INFEASIBLE -1#define OVERFLOW -2#define NULL 0typedef int Status;typedef char ElemType;#define MAXSIZE 1000 //链表的最大长度typedef struct{ElemType data;int cur; //注意这里不是指针,而是类似游标的指示器}compone 阅读全文
posted @ 2012-09-11 20:55 543fly 阅读(2230) 评论(0) 推荐(0) 编辑
  2012年6月4日
摘要: 刚入门学习Struts,使用那本Struts Web设计与开发大全,第2章有个小例子,作者是用JBuilder写的,不习惯用,因为一直用MyEclipse,然后和大家分享一下,我已经做出来的结果,但仍然有些little problem..希望能够交流下。。。 这是我这个猜数字的struts入门程序的主要代码和框架:再分别贴出来相应的代码:guess.jsp的代码如下:<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%><%@tagl 阅读全文
posted @ 2012-06-04 14:52 543fly 阅读(211) 评论(0) 推荐(0) 编辑