自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(79)
  • 资源 (113)
  • 收藏
  • 关注

转载 ubuntu安装五笔输入法

安装如下:#sudo apt-get install ibus-table-wubi开启ibus输入法,按操作提示即可。System - Preferences - Keyboard Input Methods开启完后,回到刚才的配置选项Input Method - 选择 Chinese - 五 Wubi86 - Add在文本框里,ctrl + space即可切

2012-09-23 11:15:01 748

原创 RSA的基本原理

2012-01-07 11:12:31 472

原创 定义:整除、素数与合数、公约数和最大公约数、互素(既约)、公倍数和最小公倍数以及同余

2012-01-07 10:39:10 901

转载 秒数与日期之间的相互转换

转自http://blog.chinaunix.net/space.php?uid=20564848&do=blog&id=72670 秒数转换成日期和日期转换成秒数ARM源程序(ARM含详细注解gliethttp) 通常情况下PC上用time可以获得开机秒数,用localtime可以将秒数转换成年、月、日、时、分、秒但因为没有源代码,只是以库文件的形式提供,带来许多不便,所以在ARM上使用只能自

2011-11-10 09:32:48 2353

原创 91助手之联系人获取

2011-10-21 17:42:04 603

原创 The ActiveX control cannot be instantiated

当打开一个含有ocx控件的工程时,若ocx控件没有注册会弹出“The ActiveX control cannot be instantiated”的窗口问题的解决方法1将ocx控件(如EDSockServer.ocx)拷到C:\Winodws目录下(保证步骤2不会出

2011-08-24 10:09:48 1796

转载 鸡尾酒排序

鸡尾酒排序,也就是定向冒泡排序, 鸡尾酒搅拌排序, 搅拌排序 (也可以视作选择排序的一种变形),涟漪排序, 来回排序 or 快乐小时排序, 是冒泡排序的一种变形。此算法与冒泡排序的不同处在于排序时是以双向在序列中进行排序。目录[隐藏]1

2011-08-22 13:14:42 450

转载 拓扑排序

拓扑排序求助编辑百科名片  拓扑排序对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若 ∈E(G),则u在线性序列中出现在v之前。

2011-08-22 08:23:32 774

转载 拉格朗日插值法

在数值分析中,拉格朗日插值法是以法国十八世纪数学家约瑟夫·路易斯·拉格朗日命名的一种多项式插值方法。许多实际问题中都用函数来表示某种内在联系或规律,而不少函数都只能通过实验和观测来了解。如对实践中的某个物理量进行观测,在若干个不同的地方得到相应的观测值,拉格朗日插值法可以找到一个

2011-08-22 08:14:30 5584

原创 最近项目的一些界面图形

移动图形

2011-02-19 14:05:00 558

原创 01_02最大公因数与辗转相除法

<br />定义     设a1,a2,...,an是n(n>=2)个整数,若整数d是它们之中每一个的因数,那么d就叫作a1,a2,...an的一个公因数.<br />           <br />      整数a1,a2,...,an的公因数中最大的一个叫作最大公因数,记作(a1,a2,...,an),若(a1,a2,...,an)=1,我们说a1,a2,...,an互质或互素,<br />      若a1,a2,...,an中每两个整数互质,我们就说它们两两互质<br /> <br />定理1 

2010-11-05 22:53:00 1513

原创 01_01整除的概念.带余数除法

<br />定义: 设a,b是任意两个整数,其中b!=0,如果存在一个整数q使得等式<br />                 a=bq                           (1)                                                        <br />成立,我们就说b整除a或a被b整除,记作b|a,此时我们把b叫作a的因数,把a叫作b的倍数.<br />      如果(1)里的整数q不存在,我们就说b不能整除a或a不被b整除,记作b/|

2010-11-05 22:06:00 1050

转载 .net中对象序列化技术浅谈

序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据。例如,可以序列化一个对象,然后使用 HTTP 通过 Internet 在客户端和服务器之间传输该对象。反之,反序列化根据流重新构造对象。此外还可以将对象序列化后保存到本地,再次运行的时候可以从本地文件中“恢复”对象到序列化之前的状态。<br />在.net中有提供了几种序列化的方式:<br />二进制序列化<br />XML序列化<br />SOAP序列化 二进制序列化

2010-11-05 16:24:00 408

转载 C#序列化技术详解

<br /> 序列化和反序列化我们可能经常会听到,其实通俗一点的解释,序列化就是把一个对象保存到一个文件或数据库字段中去,反序列化就是在适当的时候把这个文件再转化成原来的对象使用。<br />序列化和反序列化最主要的作用有:<br />1、在进程下次启动时读取上次保存的对象的信息<br />2、在不同的AppDomain或进程之间传递数据<br />3、在分布式应用系统中传递数据<br />......<br />在C#中常见的序列化的方法主要也有三个:BinaryFormatter、SoapFormatt

2010-11-05 11:25:00 421

原创 目录

<br />第1章 电路的基本概念和基本定律. <br />1.1 电路和电路模型 <br />1.1.1 电路 <br />1.1.2 电路模型 <br />1.2 电路中的基本物理量 <br />1.2.1 电流 <br />1.2.2 电压和电位 <br />1.2.3 电功率和电能 <br />1.3 电阻、电感、电容元件 <br />1.3.1 电阻元件 <br />1.3.2 电感元件 <br />1.3.3 电容元件 <br />1.4 电压源与电流源 <br />1.4.1 电压源 <br

2010-10-05 20:19:00 484

原创 端到端,点到点

<br />1,   点到点是数据链路层的说法,因为数据链路层只负责直接相连的两个节点之间的通信,一个节点的数据链路层接受ip层数据并封装之后,就把数据帧从链路上发送到与其相邻的下一个节点。    端到端是传输层的说法,因为无论tcp还是udp协议,都要负责把上层交付的数据从发送端传输到接收端,不论其中间跨越多少节点。只不过tcp比较可靠而udp不可靠而已。所以称之为端到端,也就是从发送端到接收端。<br /><br /><br />2, 从本质上说,由物理层、数据链路层和网络层组成的通信子网为网络环境中的

2010-06-22 22:37:00 914

原创 直接插入排序

直接插入排序简单描述:                          第一趟比较前两个数,然后把第二个数按大小插入到有序表中;                           第二趟把第三个数据与前两个数从后向前扫描,把第三个数按大小插入到有序表中;                          依次进行下去,进行了(n-1)趟扫描以后就完成了整个排序过程。 评价:直接

2010-05-27 21:17:00 424

转载 自增字段的SQL语句解决方案

create table [表名] ( [自动编号字段] int IDENTITY (1,1) PRIMARY KEY , [字段1] nVarChar(50) default 默认值 null , [字段2] ntext null , [字段3] datetime, [字段4] money null , [字段5] int default 0, [字段6] Decimal (12,4) de

2010-05-25 16:14:00 670

原创 XML与CSS ID选择符的使用

ID.xml曹雪芹红楼梦60.00罗贯中三国演义20.00琼瑶一帘幽梦20.00 ID.css@charset "utf-8";/* CSS Document */bookdetail{ display:block}book#B3{ font-weight:bold; color

2010-05-23 09:30:00 615

原创 XML与CSS类选择符的使用

Class.xml曹雪芹红楼梦60.00罗贯中三国演义40.00琼瑶一帘幽梦20.00 Class.css @charset "utf-8";/* CSS Document */bookdetail{ display:block}book.a{ color:blue;}boo

2010-05-23 09:15:00 521

原创 XML文档的显示-CSS

Product.xmlMini BusThis is a toy for childern aged 4 and above7554Barbie DollThis is a toy for childern in the age group of 5-1020200 Product.css@charset "utf-8";

2010-05-23 09:06:00 395

原创 CheckBoxList

 

2010-05-08 10:05:00 380

原创 绑定Enum到DropDownList控件的方法

有时,需要将一个枚举类型绑定到DropDownList供用户选择,这主要是Enum.GetNames和Enum.GetValues的使用。方法如下:            dropdownlist.DataSource = Enum.GetNames(typeof(YourEnumType));            dropdownlist.DataBind();这样,可以直接将Enum

2010-05-04 20:21:00 575

原创 DataGridView更新数据源

 代码1 private DataSet ds; //数据集 private SqlDataAdapter adapter; //适配器 代码2 public DataSet GetData(ref SqlDataAdapter adapt) { string

2010-04-26 19:42:00 905

原创 C/C++修改文本文件

mmap是linux下的CreateFileMapping,用来映射并同步文件。这样的话,比如我自定义一种文件格式,把它写入到文件中,现在想修改其中的值,就可以用这个函数,把文件映射到内存中然后用操作数组的方式,来进行文件的同步。如果不用这个函数就得:1、定义一个结构体2、定义结构体数组3、读取文件(w+)4、修改文件5、写回文件 如果用这个函数,就不需要那么麻烦了:1、定义结构体2、定义结构

2010-04-24 18:25:00 2048

原创 连接数据库文件

asp.net 2.0有一个特殊目录app_data,通常Sql server 2005 express数据文件就放在这个目录,相应的数据库连接串就是:connectionString="…… data source=./SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|data.mdf;User Instanc

2010-04-17 21:07:00 658

原创 打开确认窗口

<!-- function winconfirm(){ question = confirm("确实要进入吗?") if (question != "0"){ window.open("test.htm", "NewWin", "status=yes, height=200, width=200") } } // -->

2010-04-15 19:35:00 432

原创 全屏窗口

最常见的是使用window.open的方法,直接打开全屏网页:<!--function fullwin(){window.open("bigpage.html","bfs","fullscreen,scrollbars")}// --> 另外,如果想让已经打开的网页全屏,有以下两种方法:1.使用ActiveXtest<

2010-04-15 19:27:00 408

转载 C语言指针的初始化和赋值

最近写了一个小程序,遇到一点小问题,是关于指向字符串的指针的。由此一发不可收拾,好奇心驱使我决定研究一下指针的初始化和赋值规则。略有所得之后,执笔记下,以备后用。1、指针的初始化初看起来,指针的初始化和赋值好像很混乱,又是*,又是&,时不时又出来一个数组。其实总结起来很简单:int *p;int a=25;int b[10];int *m=&a;int *n=b;i

2010-04-10 14:39:00 781

原创 实验三:简易计算器

计算器 <!--/*细边框的文本输入框*/.textBaroder{ border-width:1px; border-style:solid} --><!--/*细边框的文本输入框*/.textBaroder{ border-width:1px; border-style:solid} -->/*细

2010-04-08 15:22:00 1006

转载 STL之Set与Multiset(转)

 C++ STL set和multiset的使用1,set的含义是集合,它是一个有序的容器,里面的元素都是排序好的,支持插入,删除,查找等操作,就 像一个集合一样。所有的操作的都是严格在logn时间之内完成,效率非常高。 set和multiset的区别是:set插入的元素不能相同,但是multiset可以相同。创建 multiset base;删除:如果删除元素a,那么在定义的比较

2010-04-02 22:06:00 578

原创 普通递归算法:输出n个数的所有全排列

#includeusing namespace std;void Permutation(int a);int main(){ Permutation(5); return 0;}void Print(int a[],int n){ for(int i=0;i<n;i++) cout<<a[i]; cout<<endl;}void Recu

2010-03-26 22:26:00 2339

原创 计算行列式值

#include#includeusing namespace std;double HLS(int n,double **c);int main(){ int a,b,n; cout<<"n=:"; cin>>n; double **c; c=new double*[n+1]; for(int i=0;i<n+1;i++) { c[i]=

2010-03-26 21:51:00 641

原创 2_7 NMTOKEN/NMTOKENS属性类型

      NMTOKEN类型属性的值必须为一个有效的XML名称,即必须以字母或者下划线"_"开始,之后是字母,数字,下划线,短横线或圆点,而且不能含有空格.<!DOCTYPE message [ ]>

2010-03-25 21:43:00 1063

原创 2_5 IDREF和IDREFS类型的属性的使用及作用

IDREF/IDREFS类型IDREF类型的属性用来引用同一文档中的另一元素的ID属性。IDREF属性的值必须是文档中某个元素的ID属性值勤。通过使用IDREF,可使一个元素和另一个元素发生联系。如可以为book元素定义一个IDREF类型的属性publisher,用于指出该书的出版社,其值勤为publisher元素的ID属性publisherID的值.IDREFS是IDREF的复数

2010-03-25 21:31:00 1597

原创 JavaScript作业(计科10703 32号版权所有)

第1题 编写一个脚本,该脚本要求用户输入两个整数,从用户那里获得这两个整数后,在一个警告框中显示较大的整数并在后面加上”is larger”。如果这两个整数相等,则在警告框中显示“These numbers are equal”。  <!-- function check() { var n1=parseInt(document.getElementById("n1")

2010-03-25 18:52:00 1056

原创 1_2 导入JavaScript脚本

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> HTML Sample Page <!-- // --> 你好,JavaScript!

2010-03-25 14:30:00 570

原创 1_1 第一个JavaScript程序

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> HTML Sample Page <!--alert("你好,JavaScript!"); // -->

2010-03-25 14:27:00 358

原创 2_4 对year定义一个属性

1 属性声明有时也可以对元素添加一些与其内容有关的补充信息,即声明该元素的属性.与元素类似,在XML文档中使用的属性必须在DTD中声明属性声明的语法如下:其中,ATTLIST关键字用来定义元素所具有的属性Element_name是元素名,Attribute_name是该元素所具有的属性名Type是属性的类型,最常的是CDATA,Default_value是属性的默认值

2010-03-24 22:26:00 503

原创 2_2 序列和选择

<!DOCTYPE message[]> 25th December 2010 Me You Happy Christmas Best wishes for Christmas Christmas Day Santas li

2010-03-24 22:18:00 355

算法导论(part2)

一、本书的内容 目前,市面上有关计算机算法的书很多,有些叙述严谨但不全面,另外一些则是容量很大但不够严谨。本书将叙述的严谨性以及内容的深度和广度有机地结合了起来。第1版推出后,即在世界范围内受到了广泛的欢迎,被各高等院校用作多种课程的教材和业界的标准参考资料。它深入浅出地介绍了大量的算法及相关的数据结构,以及用于解决一些复杂计算问题的高级策略(如动态规划、贪心算法、平摊分析等),重点在于算法的分析和设计。对于每一个专题,作者都试图提供目前最新的研究成果及样例解答,并通过清晰的图示来说明算法的执行过程。. 本书是原书的第2版,在第1版的基础之上增加了一些新的内容,涉及算法的作用、概率分析和随机化算法、线性规划,以及对第1版中详尽的、几乎涉及到每一小节的修订。这些修订看似细微,实际上非常重要。书中引入了“循环不变式”,并贯穿始终地用来证明算法的正确性。在不改动数学和分析重点的前提下,作者将第1版中的许多数学基础知识从第一部分移到了附录中。 二、本书的特点 本书在进行算法分析的过程中,保持了很好的数学严谨性。书中的分析和设计可以被具有各种水平的读者所理解。相对来说,每一章都可以作为一个相对独立的单元来教授或学习。书中的算法以英语加伪代码的形式给出,只要有一点程序设计经验的人都能读懂,并可以用任何计算机语言(如C/C++和Java等)方便地实现。在书中,作者将算法的讨论集中在一些比较现代的例子上,它们来自分子生物学(如人类基因项目)、商业和工程等领域。每一小节通常以对相关历史素材的讨论结束,讨论了在每一算法领域的原创研究。 本书的特点可以概括为以下几个方面: 1.概念清晰,广度、深度兼顾。 本书收集了现代计算机常用的数据结构和算法,并作了系统而深入的介绍。对涉及的概念和背景知识都作了清晰的阐述,有关的定理给出了完整的证明。 2.“五个一”的描述方法。 本书以相当的深度介绍了许多常用的数据结构和有效的算法。编写上采用了“五个一”,即一章介绍一个算法、一种设计技术、一个应用领域和一个相关话题。.. 3.图文并茂,可读性强。 书中的算法均以通俗易懂的语言进行说明,并采用了大量插图来说明算法是如何工作的,易于理解。 4.算法的“伪代码”形式简明实用。 书中的算法均以非常简明的“伪代码”形式来设计,可以很容易地把它转化为计算机程序,直接应用。 注重算法设计的效率,对所有的算法进行了仔细、精确的运行时间分析,有利于进一步改进算法。 三、本书的用法 本书对内容进行了精心的设计和安排,尽可能考虑到所有水平的读者。即使是初学计算机算法的人,也可以在本书中找到所需的材料。 每一章都是独立的,读者只需将注意力集中到最感兴趣的章节阅读。 1.适合作为教材或教学参考书。 本书兼顾通用性与系统性,覆盖了许多方面的内容。本书不但阐述通俗、严谨,而且提供了大量练习和思考题。针对每一节的内容,都给出了数量和难度不等的练习题。练习题用于考察对基本内容的掌握程度,思考题有一定的难度,需进行精心的研究,有时还通过思考题介绍一些新的知识。 前言回到顶部↑本书提供了对当代计算机算法研究的一个全面、综合性的介绍。书中给出了多个算法,并对它们进行了较为深入的分析,使得这些算法的设计和分析易于被各个层次的读者所理解。力求在不牺牲分析的深度和数学严密性的前提下,给出深入浅出的说明。. 书中每一章都给出了一个算法、一种算法设计技术、一个应用领域或一个相关的主题。算法是用英语和一种“伪代码”来描述的,任何有一点程序设计经验的人都能看得懂。书中给出了230多幅图,说明各个算法的工作过程。我们强调将算法的效率作为一种设计标准,对书中的所有算法,都给出了关于其运行时间的详细分析。 本书主要供本科生和研究生的算法或数据结构课程使用。因为书中讨论了算法设计中的工程问题及其数学性质,因此,本书也可以供专业技术人员自学之用。 本书是第2版。在这个版本里,我们对全书进行了更新。所做的改动从新增了若干章,到个别语句的改写。 致使用本书的教师 本书的设计目标是全面、适用于多种用途。它可用于若干课程,从本科生的数据结构课程到研究生的算法课程。由于书中给出的内容比较多,只讲一学期一般讲不完,因此,教师们应该将本书看成是一种“缓存区”或“瑞典式自助餐”,从中挑选出能最好地支持自己希望教授的课程的内容。 教师们会发现,要围绕自己所需的各个章节来组织课程是比较容易的。书中的各章都是相对独立的,因此,你不必担心意想不到的或不必要的各章之间的依赖关系。每一章都是以节为单位,内容由易到难。如果将本书用于本科生的课程,可以选用每一章的前面几节内容;在研究生课程中,则可以完整地讲授每一章。 全书包含920多个练习题和140多个思考题。每一节结束时给出练习题,每一章结束时给出一些

2010-09-09

算法导论(part1)

一、本书的内容 目前,市面上有关计算机算法的书很多,有些叙述严谨但不全面,另外一些则是容量很大但不够严谨。本书将叙述的严谨性以及内容的深度和广度有机地结合了起来。第1版推出后,即在世界范围内受到了广泛的欢迎,被各高等院校用作多种课程的教材和业界的标准参考资料。它深入浅出地介绍了大量的算法及相关的数据结构,以及用于解决一些复杂计算问题的高级策略(如动态规划、贪心算法、平摊分析等),重点在于算法的分析和设计。对于每一个专题,作者都试图提供目前最新的研究成果及样例解答,并通过清晰的图示来说明算法的执行过程。. 本书是原书的第2版,在第1版的基础之上增加了一些新的内容,涉及算法的作用、概率分析和随机化算法、线性规划,以及对第1版中详尽的、几乎涉及到每一小节的修订。这些修订看似细微,实际上非常重要。书中引入了“循环不变式”,并贯穿始终地用来证明算法的正确性。在不改动数学和分析重点的前提下,作者将第1版中的许多数学基础知识从第一部分移到了附录中。 二、本书的特点 本书在进行算法分析的过程中,保持了很好的数学严谨性。书中的分析和设计可以被具有各种水平的读者所理解。相对来说,每一章都可以作为一个相对独立的单元来教授或学习。书中的算法以英语加伪代码的形式给出,只要有一点程序设计经验的人都能读懂,并可以用任何计算机语言(如C/C++和Java等)方便地实现。在书中,作者将算法的讨论集中在一些比较现代的例子上,它们来自分子生物学(如人类基因项目)、商业和工程等领域。每一小节通常以对相关历史素材的讨论结束,讨论了在每一算法领域的原创研究。 本书的特点可以概括为以下几个方面: 1.概念清晰,广度、深度兼顾。 本书收集了现代计算机常用的数据结构和算法,并作了系统而深入的介绍。对涉及的概念和背景知识都作了清晰的阐述,有关的定理给出了完整的证明。 2.“五个一”的描述方法。 本书以相当的深度介绍了许多常用的数据结构和有效的算法。编写上采用了“五个一”,即一章介绍一个算法、一种设计技术、一个应用领域和一个相关话题。.. 3.图文并茂,可读性强。 书中的算法均以通俗易懂的语言进行说明,并采用了大量插图来说明算法是如何工作的,易于理解。 4.算法的“伪代码”形式简明实用。 书中的算法均以非常简明的“伪代码”形式来设计,可以很容易地把它转化为计算机程序,直接应用。 注重算法设计的效率,对所有的算法进行了仔细、精确的运行时间分析,有利于进一步改进算法。 三、本书的用法 本书对内容进行了精心的设计和安排,尽可能考虑到所有水平的读者。即使是初学计算机算法的人,也可以在本书中找到所需的材料。 每一章都是独立的,读者只需将注意力集中到最感兴趣的章节阅读。 1.适合作为教材或教学参考书。 本书兼顾通用性与系统性,覆盖了许多方面的内容。本书不但阐述通俗、严谨,而且提供了大量练习和思考题。针对每一节的内容,都给出了数量和难度不等的练习题。练习题用于考察对基本内容的掌握程度,思考题有一定的难度,需进行精心的研究,有时还通过思考题介绍一些新的知识。 前言回到顶部↑本书提供了对当代计算机算法研究的一个全面、综合性的介绍。书中给出了多个算法,并对它们进行了较为深入的分析,使得这些算法的设计和分析易于被各个层次的读者所理解。力求在不牺牲分析的深度和数学严密性的前提下,给出深入浅出的说明。. 书中每一章都给出了一个算法、一种算法设计技术、一个应用领域或一个相关的主题。算法是用英语和一种“伪代码”来描述的,任何有一点程序设计经验的人都能看得懂。书中给出了230多幅图,说明各个算法的工作过程。我们强调将算法的效率作为一种设计标准,对书中的所有算法,都给出了关于其运行时间的详细分析。 本书主要供本科生和研究生的算法或数据结构课程使用。因为书中讨论了算法设计中的工程问题及其数学性质,因此,本书也可以供专业技术人员自学之用。 本书是第2版。在这个版本里,我们对全书进行了更新。所做的改动从新增了若干章,到个别语句的改写。 致使用本书的教师 本书的设计目标是全面、适用于多种用途。它可用于若干课程,从本科生的数据结构课程到研究生的算法课程。由于书中给出的内容比较多,只讲一学期一般讲不完,因此,教师们应该将本书看成是一种“缓存区”或“瑞典式自助餐”,从中挑选出能最好地支持自己希望教授的课程的内容。 教师们会发现,要围绕自己所需的各个章节来组织课程是比较容易的。书中的各章都是相对独立的,因此,你不必担心意想不到的或不必要的各章之间的依赖关系。每一章都是以节为单位,内容由易到难。如果将本书用于本科生的课程,可以选用每一章的前面几节内容;在研究生课程中,则可以完整地讲授每一章。 全书包含920多个练习题和140多个思考题。每一节结束时给出练习题,每一章结束时给出一些

2010-09-09

Introducing .NET 4.0 With Visual Studio 2010

Introducing .NET 4.0 With Visual Studio 2010

2010-07-21

Microsoft SQL Server 2005技术内幕:T-SQL程序设计(英文)

目录 Contents 序 I 前言 III 致谢 VII 引言 XI 第1章 数据类型相关的问题,XML和CLR UDT 1 1.1 DATETIME数据类型 2 DATETIME的存储格式 2 时间处理 3 Datetime相关的查询问题 8 1.2 与字符相关的问题 25 模式匹配 26 区分大小写(Case-Sensitive)的筛选器 31 1.3 大型对象(Large Object,LOB) 32 MAX 说明符 32 BULK行集提供程序 34 1.4 隐式转换(Implicit Conversion) 36 标量表达式 36 筛选表达式 37 1.5 基于CLR的用户定义类型 40 UDT理论简介 41 开发UDT 48 1.6 XML数据类型 65 关系数据库中的XML支持 65 什么时候应该使用XML代替关系表现形式? 67 数据库中的XML序列化对象 68 使用开放架构(Open Schema)的XML 75 作为存储过程参数的XML数据类型 81 Xquery修改语句 82 1.7 结论 83 第2章 临时表和表变量 85 2.1 临时表 86 局部临时表 86 全局临时表 94 2.2 表变量 96 限制条件 96 tempdb 97 范围和可见性 97 事务上下文 97 统计信息 98 2.3 tempdb相关的注意事项 101 2.4 表表达式 102 2.5 比较临时对象 103 2.6 综合练习——关系分区(Relational Division) 104 2.7 结论 109 第3章 游标 111 3.1 使用游标 112 3.2 游标开销 114 3.3 单独处理每一行 115 3.4 按顺序访问 116 自定义聚合 116 连续聚合 118 最大并发会话 122 匹配问题 131 3.5 结论 138 第4章 动态SQL 139 4.1 EXEC 141 一个简单的EXEC示例 141 EXEC不提供接口 142 串联变量 145 EXEC AT 146 4.2 sp_executesql 149 sp_executesql接口 149 语句限制 152 4.3 环境设置 153 4.4 使用动态SQL 153 动态的维护操作 153 存储计算 156 动态筛选器 160 动态PIVOT/UNPIVOT 166 4.5 SQL注入 172 SQL注入:在客户端动态构建代码 172 SQL注入:在服务器端动态构建代码 173 防止SQL注入 177 4.6 结论 179 第5章 视图 181 5.1 什么是视图? 181 5.2 视图中的ORDER BY 183 5.3 刷新视图 187 5.4 模块化方法 189 5.5 更新视图 198 5.6 视图选项 202 ENCRYPTION 202 SCHEMABINDING 203 CHECK OPTION 204 VIEW_METADATA 205 5.7 索引视图(Indexed View) 206 5.8 结论 211 第6章 用户定义函数 213 6.1 关于UDF 214 6.2 标量UDF 214 T-SQL 标量UDF 215 性能问题 217 在约束中使用UDF 219 CLR 标量 UDF 222 SQL签名(SQL Signature) 231 6.3 表值UDF 239 内联表值UDF 239 拆分数组(Split Array) 242 多语句表值UDF 248 6.4 逐行调用UDF 252 6.5 结论 255 第7章 存储过程 257 7.1 存储过程的种类 258 用户定义存储过程 258 特殊存储过程 262 系统存储过程 264 其他类型的存储过程 266 7.2 存储过程接口 267 输入参数 267 输出参数 269 7.3 解析 273 7.4 编译、重新编译和重用执行计划 275 重用执行计划 275 重新编译 281 参数嗅探问题 284 7.5 Execute As 288 7.6 参数化排序 289 7.7 动态Pivot 294 7.8 CLR存储过程 305 7.9 结论 313 第8章 触发器 315 8.1 AFTER触发器 316 inserted 和deleted 表 316 取得受影响的行数 318 识别触发器的类型 321 对特殊语句不引发触发器 324 嵌套和递归 328 UPDATE 和 COLUMNS_UPDATED 329 审核示例 333 8.2 INSTEAD OF触发器 335 逐行触发器 336 应用于视图 339 自动处理序列 342 8.3 DDL触发器 344 数据库级触发器 346 服务器级触发器 350 8.4 CLR触发器 351 8.5 结论 360 第9章 事务 361 9.1 什么是事务? 362 9.2 锁 364 9.3 隔离级别 370 未提交读 371 已提交读 372 可重复读 373 可串行读 374 新的隔离级别 375 9.4 保存点 381 9.5 死锁 383 简单的死锁 384 因缺少索引导致的死锁 385 单个表的死锁 388 9.6 结论 390 第10章 错误处理 391 10.1 SQL Server 2005之前版本的错误处理 391 10.2 SQL Server 2005中的错误处理 395 TRY/CATCH 395 事务中的错误 399 死锁和更新冲突 404 10.3 结论 409 第11章 Service Broker 411 11.1 会话对话 411 会话 412 约定(Contract) 417 DEFAULT 418 队列(Queue) 418 服务(Services) 423 发起和结束对话 424 会话端点(Conversation Endpoint) 426 会话组(Conversation Group) 428 发送和接收 430 11.3 简单的对话 434 有害消息(Poison Message) 442 11.4 对话安全 443 非对称密钥认证 444 配置对话安全 445 11.5 路由和分发 448 相邻Broker协议(Adjacent Broker Protocol) 449 路由(Route) 455 11.6 场景 460 可靠的SOA 460 异步处理 461 11.7 哪里适合使用Service Broker 462 Service Broker是什么 462 Service Broker不是什么 462 Service Broker和MSMQ 462 Service Broker和BizTalk 463 Service Broker和Windows Communication Foundation 463 11.8 结论 464 附录A CLR程序指南 465 A.1 创建CLRUtilities数据库: SQL Server 466 A.2 部署:Visual Studio 466 A.3 部署和测试:Visual Studio 和 SQL Server 467 索引 491 中英文术语对照表 509 关于作者 513

2010-06-15

HP优盘格式化工具HPUSBFW+2.20

1、解压, 2、打开"HP优盘格式化工具"文件夹, 3、运行其中的"HP优盘格式化工具HPUSBFW 2.20.exe" 4、格式化,(选择FAT格式,快速格式化,),开始 此时,U盘还是0字节的,不过你放心,这时你可以在windows下格式化了, 5、右击“U盘”,“格式化” "看见了吗?现在已经不是0字节了" (选择FAT32,快速格式化),开始 OK,好了

2010-06-04

Visual C#.NET 2008程序设计案例集锦 (源码)

前言. 第1章 Windows窗体技术 案例1.1 多文档MDI应用程序 案例1.2 QQ窗体 案例1.3 卡通窗体, 案例1.4 带有分隔栏并更换主界面背景窗体 案例1.5 半透明渐显动画和渐变窗体 案例1.6 浮动的窗体 案例1.7 在屏幕中央并总在最前窗体 案例1.8 椭圆形窗体 案例1.9 可移动的五边形窗体 案例1.10 文字窗体 案例1.11 动态滑入滑出的闪烁窗体 案例1.12 以树形显示的窗体 案例1.13 图案动画窗体 本章小结 第2章 图形图像处理技术 案例2.1 波形图特效 案例2.2 在图像中写入文字 案例2.3 图像缩放与翻转 .案例2.4 图像的涂沫 案例2.5 百叶窗图像效果 案例2.6 图像的纹理和遮罩动画效果 案例2.7 图像的积木和浮雕效果 案例2.8 文字的360°旋转效果 案例2.9 可以随意移动的GIF动画 案例2.10 图像的属性及选择点的RGB颜色值 案例2.11 运行的时钟 本章小结 第3章 多媒体处理技术 案例3.1 MP3播放器 案例3.2 Flash播放器 案例3.3 Gif播放器 案例3.4 图像滚动展示动画效果 案例3.5 电子相册 案例3.6 交通信号灯 案例3.7 随机变换图像屏幕保护程序 案例3.8 MP3音乐屏幕保护程序 本章小结 第4章 数据库处理技术 案例4.1 利用控件连接Access数据库 案例4.2 利用代码连接加密Access数据库 案例4.3 读取并浏览Access数据库中的数据 案例4.4 利用控件连接SQL Server数据库 案例4.5 利用ADO.NET访问SQL Server数据库 案例4.6 连接Excel电子表格 案例4.7 利用SQL语句向数据库表中插入数据 案例4.8 利用存储过程修改数据库中的数据 案例4.9 分页显示数据库表中的数据 案例4.10 动态查询数据库表中的数据 案例4.11 SQL Server服务的开启和断开 本章小结 第5章 水晶报表和打印处理技术 案例5.1 水晶报表中使用SQL Server数据库 案例5.2 利用水晶报表分组统计数据库中的数据 案例5.3 图表在水晶报表中的应用 案例5.4 控制水晶报表的字段个数、字体颜色及记录显示 案例5.5 水晶报表中子报表的应用 案例5.6 利用打印组件实现窗体数据的打印 案例5.7 打印输出图形图像 案例5.8 调用Excel打印表格数据 案例5.9 调用Word打印表格数据 本章小结 第6章 文件及注册表处理技术 案例6.1 文件的动态创建与删除 案例6.2 文件夹的动态创建与删除.. 案例6.3 文件的打开和保存 案例6.4 文件的加密和解密 案例6.5 文件的动态查找 案例6.6 动态复制多个文件 案例6.7 动态获取系统当前目录及程序当前目录 案例6.8 文件属性的查看与修改 案例6.9 桌面图标和驱动器的显示与隐藏 案例6.10 禁示修改IE浏览器的主页 本章小结 第7章 硬件处理技术 案例7.1 计算机的注销、关闭和重新启动 案例7.2 任务栏和“开始”按钮的显示与隐藏 案例7.3 声卡的检测及PC喇叭的控制 案例7.4 动态控制光驱的打开和关闭 案例7.5 鼠标的控制 案例7.6 设置系统默认输入法 案例7.7 锁定计算机 案例7.8 屏幕保护程序的启动 案例7.9 利用串口进行通信 本章小结 第8章 数据结构与算法 案例8.1 单向链表数据结构 案例8.2 堆栈数据结构 案例8.3 队列数据结构 案例8.4 冒泡排序和选择排序 案例8.5 希尔排序和插入排序 案例8.6 搬砖问题算法 案例8.7 爱因斯坦的阶梯问题算法 案例8.8 求最大公因子的欧几里德算法 案例8.9 IP地址的合法性检查算法 案例8.10 由旧身份证自动生成新身证算法 本章小结 第9章 网络开发技术 案例9.1 动态获取本机名和IP地址 案例9.2 动态获取本机网卡地址 案例9.3 动态修改本机IP地址 案例9.4 网络连接和传输信息 案例9.5 网络在线检测 案例9.6 网络在线浏览器 案例9.7 HTTP动态下载 案例9.8 动态查看网页标题信息 案例9.9 电子邮件的发送 本章小结 第10章 Web程序开发技术 案例10.1 利用AdRotator控件随机显示广告图像 案例10.2 利用Calendar控件动态查询系统日期 案例10.3 会员登录系统 案例10.4 利用Application对象实现网站计数器 案例10.5 利用Session对象实现留言板 案例10.6 动态上传图像并显示 案例10.7 利用控件显示数据库表中的数据 案例10.8 分页显示数据库表中的数据 案例10.9 动态选择、编辑、删除数据库表中的数据 本章小结 第11章 应用程序的打包 案例11.1 Windows应用程序的打包 案例11.2 Web应用程序的打包 案例11.3 带有数据库文件的应用程序的打包 案例11.4 带有特定文件的应用程序打包 案例11.5 带有注册表信息的应用程序打包 本章小结 第12章 消费管理系统 12.1 系统总体设计 12.2 系统数据库设计 12.3 实例效果 12.4 消费管理登录系统 12.5 消费管理系统主界面 12.6 消费管理系统的查询功能 12.7 消费信息管理功能 12.8 消费信息报表输出界面 本章小结

2010-06-02

Visual C#网络编程技术与实践

本书详细介绍了利用Visual C# 2005进行网络编程的方法和技巧。全书共分13章,主要内容包括网络编程原理、Visual C# 2005的套接字以及多线程的开发、基于各种不同协议的网络编程应用模块,并通过几个典型的实例介绍了Visual C# 2005网络编程的实际应用。 本书注重代码的通用性和工程实践性,书中提供的通用模块和典型实例稍加修改就可以为读者所用。   本书不仅适用于使用Visual C# 2005进行软件开发的广大软件开发人员,也适合高等院校师生学习和参考使用,特别对高校计算机专业的学生进行毕业设计具有非常好的指导价值,也可以作为广大计算机编程爱好者的自学参考书。 第1章 C#.NET网络编程概述  1.1 网络通信概述   1.1.1 网络通信模型概述   1.1.2 网络通信协议、接口和服务概述   1.1.3 TCP/IP网络架构概述   1.1.4 IP地址与端口  1.2 C#.NET网络编程相关类   1.2.1 IPAddress类   1.2.2 DNS类   1.2.3 IPHostEntry类   1.2.4 IPEndPoint类   1.2.5 Socket类  1.3 套接字概述   1.3.1 套接字的类型和常用属性   1.3.2 建立面向连接的套接字   1.3.3 建立面向无连接的套接字  1.4 使用套接字的简单示例   1.4.1 C/S与B/S架构通信模式概述   1.4.2 编写客户端代码   1.4.3 编写服务器端代码 .  1.4.4 无阻塞套接字  1.5 本章小结 第2章 C#.NET高级网络编程技术概述  2.1 线程与网络通信   2.1.1 基于线程的网络通信概述   2.1.2 在网络编程中使用多线程   2.1.3 线程基础   2.1.4 多线程在网络编程中的应用  2.2 网络通信的常见问题   2.2.1 让网络通信代码更强壮   2.2.2 数据缓冲区处理方法  2.3 TCP无保护消息边界   2.3.1 发送固定长度的消息   2.3.2 采用变长的消息   2.3.3 使用特殊标记处理消息  2.4 本章小结 第3章 开发基于TCP协议的应用程序  3.1 套接字与TCP协议   3.1.1 使用套接字传输数据   3.1.2 NetworkStream对象同数据发送与接收   3.1.3 TcpClient与TcpListener类   3.1.4 使用TCP/IP协议编写应用层的通信代码  3.2 开发异步的TCP应用编程   3.2.1 TCP的异步通信流程   3.2.2 线程阻塞与异步中的同步问题  3.3 开发异步的TCP聊天程序   3.3.1 客户端界面设计   3.3.2 客户端业务逻辑设计   3.3.3 服务器端界面设计   3.3.4 服务器端业务逻辑设计   3.3.5 运行界面  3.4 本章小结 第4章 开发基于UDP的应用程序  4.1 UDP通信协议概述   4.1.1 UDP协议与TCP协议的差别   4.1.2 UDP协议的使用场合  4.2 在C#下UDP协议的相关类   4.2.1 IPAddress类   4.2.2 UdpClient类的构造函数   4.2.3 UdpClient类的常用方法与实例  4.3 UDP协议使用示例   4.3.1 UDP模块功能概述   4.3.2 设计通信流程   4.3.3 开发服务器端程序   4.3.4 开发客户端程序   4.3.5 使用多线程开发UDP协议   4.3.6 使用校验保证信息完整性   4.3.7 效果演示  4.4 本章小结 第5章 开发基于SNMP协议的应用程序  5.1 SNMP协议概述   5.1.1 了解SNMP协议   5.1.2 SNMP的常用命令   5.1.3 设计SNMP包  5.2 SNMP协议使用示例   5.2.1 需求分析与设计   5.2.2 设计程序流程   5.2.3 程序窗口界面设计   5.2.4 SNMP类编写   5.2.5 SNMP程序窗口类编写  5.3 运行效果演示  5.4 使用供货商提供的MIB库  5.5 本章小结 第6章 使用.NET发送邮件  6.1 邮件发送与接收协议概述   6.1.1 SMTP协议与邮件发送   6.1.2 POP3协议与邮件接收   6.1.3 .NET下支持SMTP和POP3的类  6.2 邮件发送与接收模块   6.2.1 需求分析与设计   6.2.2 设计邮件发送和接收的流程   6.2.3 界面设计   6.2.4 编写主窗口的业务逻辑   6.2.5 编写发送邮件的业务逻辑   6.2.6 编写接收邮件的业务逻辑   6.2.7 使用多线程发送与接收邮件  6.3 运行效果演示  6.4 本章小结 第7章 FTP下载与文件传输  7.1 FTP协议概述   7.1.1 使用FTP协议下载文件的流程   7.1.2 相关类库说明  7.2 FTP客户端设计   7.2.1 需求分析   7.2.2 界面设计   7.2.3 业务逻辑设计  7.3 FTP服务器端设计   7.3.1 需求分析   7.3.2 FTP响应码   7.3.3 业务逻辑设计  7.4 运行界面  7.5 本章小结 第8章 基于C#.NET的网络管理模块  8.1 ICMP协议概述   8.1.1 ping命令   8.1.2 tracert命令  8.2 ICMP包  8.3 编写网络管理模块   8.3.1 需求分析   8.3.2 界面设计   8.3.3 编写核心icmp类的业务逻辑   8.3.4 编写具有ping功能的业务逻辑   8.3.5 编写具有tracert功能的业务逻辑   8.3.6 编写findmask功能的业务逻辑   8.3.7 编写时间戳功能的业务逻辑  8.4 运行界面  8.5 本章小结 第9章 编写基于.NET的Web Service  9.1 Web Service概述   9.1.1 Web服务基本概念   9.1.2 Web服务的优势   9.1.3 Web服务的架构  9.2 需求分析与设计   9.2.1 需求分析   9.2.2 文件功能设计   9.2.3 数据库设计  9.3 编写Web Service服务系统   9.3.1 构建Web Service   9.3.2 编写Web服务代码   9.3.3 主页面与登录相关的WebService数据访问模块   9.3.4 发表主题相关的Web Service访问模块   9.3.5 投票相关的Web Service访问模块   9.3.6 管理相关的Web Service访问模块  9.4 主页面与登录模块   9.4.1 界面设计   9.4.2 编写业务逻辑  9.5 发表主题模块   9.5.1 界面设计   9.5.2 编写业务逻辑  9.6 投票模块   9.6.1 界面设计   9.6.2 编写业务逻辑  9.7 管理模块   9.7.1 界面设计   9.7.2 编写业务逻辑  9.8 本章小结 第10章 基于.NET的远程技术  10.1 远程技术概述   10.1.1 远程技术开发结构   10.1.2 远程技术使用  10.2 远程控制开发客户端的设计   10.2.1 界面设计与控件使用   10.2.2 客户端的代码设计  10.3 远程控制开发服务器端的设计   10.3.1 界面设计与控件使用   10.3.2 服务器端的代码设计  10.4 运行效果演示  10.5 本章小结 第11章 流媒体在线播放  11.1 需求分析与设计   11.1.1 需求分析   11.1.2 模块设计   11.1.3 数据库设计  11.2 DirectShow接口   11.2.1 滤波图模型   11.2.2 如何使用DirectShow接口   11.2.3 流媒体在线播放相关接口  11.3 流媒体协议   11.3.1 实时传输协议(RTP)   11.3.2 实时传输控制协议(RTCP)   11.3.3 实时流传输协议(RTSP)   11.3.4 流媒体服务过程  11.4 建立.NET的窗体项目   11.4.1 主窗口界面设计   11.4.2 收藏夹数据库相关业务逻辑设计   11.4.3 流媒体在线播放器业务逻辑设计  11.5 运行效果演示  11.6 本章小结 第12章 在线五子棋系统模块  12.1 需求分析与设计   12.1.1 需求分析   12.1.2 模块设计  12.2 五子棋规则类设计   12.2.1 胜负判定类   12.2.2 行棋规则类  12.3 基于TCP协议的通信类   12.4 网络配置模块   12.4.1 网络配置模块的界面设计   12.4.2 网络配置模块的代码设计  12.5 扫描主机模块   12.5.1 扫描主机模块的界面设计   12.5.2 扫描主机模块的代码设计  12.6 主界面模块   12.6.1 主界面模块的界面设计   12.6.2 主界面模块的代码设计  12.7 运行界面  12.8 本章小结 第13章 基于HTTP协议的下载工具  13.1 HTTP协议   13.1.1 HTTP下载理论   13.1.2 .NET的几个支持HTTP协议的类  13.2 异步机制   13.2.1 异步机制的原理   13.2.2 异步类  13.3 下载工具的设计   13.3.1 需求设计   13.3.2 模块设计   13.3.3 界面设计   13.3.4 业务逻辑设计  13.4 运行效果演示  13.5 本章小结 Microsoft Visual C# 2005是一种新的编程环境,它是为生成在.NET Framework上运行的多种应用程序而设计的。C#简单,功能强大,类型安全,而且是面向对象的。C#凭借它的许多创新实现了对应用程序的快速开发。. Visual Studio支持Visual C#,这是通过功能齐全的代码编辑器、项目模板、设计器、代码向导、功能强大且易于使用的调试器以及其他工具实现的。通过.NET Framework类库,可以访问多种操作系统服务和其他有用的精心设计的类,这些类可显著加快开发周期。 本书大量地使用了.NET Framework提供的类库中的函数来协同开发,通过使用这些已经被封装的类来协助开发确实提高了不少效率,为开发工作带来了诸多的便利。 本书共分13章,第1章介绍了利用Visual C# 2005提供的网络命名空间下的诸多API进行套接字的开发,并对网络编程的原理进行了详细的阐述,为后续的章节奠定了基础。 第2章介绍了具有多线程能力的网络应用程序,这使得用户开发的程序能够适应更加复杂的情况。 第3章~第8章是本书的重要部分,主要介绍基于各种不同协议的网络编程应用模块。第3章介绍了基于TCP协议的聊天程序;第4章介绍了基于UDP的通信程序;第5章介绍了使用SNMP协议的网络管理程序;第6章介绍了使用SMTP以及POP3协议的E-mail系统;第7章介绍了基于FTP的文件传输模块;第8章介绍了使用ICMP协议的网络探测程序。 第9章介绍了基于Web Service的电子公告板系统,并结合采用了SQL Server 2005数据库;第10章介绍了使用远程控制技术的应用程序;第11章则介绍了流媒体在线播放系统。.. 第12章介绍了基于TCP通信协议的在线五子棋系统;第13章主要介绍了基于HTTP协议的下载工具,该工具具有多线程下载、断点续传的功能。 本书注重理论指导性和工程实践性,书中提供的各个网络应用程序只要稍加修改就可以为读者所用。本书不仅适用于使用Visual C# 2005进行软件开发的广大软件开发人员,也适合高等院校师生学习和参考使用,特别对高校计算机专业的学生进行毕业设计具有非常好的指导价值,也可以作为广大计算机编程爱好者的自学、参考用书。 本书主要由梅晓冬、颜烨青执笔,在编写本书程序的过程中,得到了陈璧元的大力支持,在此表示衷心的感谢。此外,还要感谢杨文军、程伟、袁远、刘武、彭澜、李通、李杰、卢茂琼、张燕生、胡燕生、邓湘成、卢下知、王周浩、邱岳、刘流、代本、刘明星、孙靖华等人,他们在本书编写过程中给予了我鼓励和支持。 由于时间仓促,加之水平有限,书中不足之处在所难免,敬请读者批评指正。... 编者 2008年1月

2010-05-27

XML完全开发指南(源码)

内容简介回到顶部↑XML是新一代网络数据表示、传输和交换的标准,是Internet环境中跨平台的、依赖于内容的技术。它的应用已经渗透到与网络数据处理相关的各个领域。 本书系统阐述了进行XML开发所涉及的相关技术,力图向读者展示一个完整的XML开发环境。主要内容包括:XML开发工具,XML语法,DTD和XSD,CSS和XSL,在SQL Server2000中如何操作XML数据,XLink和XPointer,DOM模型,Java、JavaScript、.NET中的XML编程,XML Web Service技术,全书最后介绍了Web 2.0时代XML技术的最新应用一一Ajax。 本书采用理论与实践结合、相互渗透、逐步引导的讲解方法。在介绍技术的基础知识后,通过实例深入剖析技术的具体应用,帮助读者快速入门并逐步精通。 本书面向XML初学者,可作为高等院校计算机、电子商务以及信息类相关专业课程的教材,也可供广大Web应用程序开发者和用户参考。 目录回到顶部↑第1章 XML概述 1.1 什么是XML 1.1.1 XML是元标记语言 1.1.2 XML描述的是结构和语义,而不是格式 1.2 XML的产生背景 1.2.1 电子数据交换简介 1.2.2 XML的产生及其与SGML、HTML的关系 1.3 XML的优越性 1.4 XML应用综述 1.5 XML软件 1.5.1 XML浏览器 1.5.2 XML编辑器 1.5.3 XML解析器 1.6 XML相关技术 1.6.1 级联样式表 1.6.2 可扩展样式表语言 1.6.3 URL和URI 1.6.4 XLink和XPointer 1.6.5 Unicode字符集 1.6.6 如何将这些技术融合在一起 . 1.7 XML开发工具 1.7.1 XMLSpy 2007的主要功能 1.7.2 XMLSpy 2007的图形用户界面 1.7.3 XMLSpy 2007的安装 1.7.4 XMLSpy 2007的使用 1.8 本章小结 第2章 XML语法 2.1 XML文档结构 2.2 XML文档规则 2.2.1 格式良好的XML文档规则 2.2.2 格式良好的XML文档 2.2.3 有效的XML文档 2.3 XML声明 2.4 文档内容 2.4.1 XML元素 2.4.2 XML属性 2.4.3 注释 2.4.4 字符引用和实体引用 2.5 命名空间 2.5.1 命名冲突 2.5.2 解决命名冲突的方法 2.5.3 使用命名空间 2.6 XML文档高级应用 2.6.1 XML专用标记——处理指令 2.6.2 XML专用标记——CDATA节 2.7 本章小结 第3章 XML文档类型定义——DTD 3.1 什么是DTD 3.2 为什么要使用DTD 3.3 DTD声明 3.3.1 内部DTD 3.3.2 外部DTD 3.4 DTD语法 3.4.1 元素声明 3.4.2 属性声明 3.4.3 实体声明 3.5 本章小结 第4章 XML模式定义——XSD 4.1 Schema简介 4.2 为什么要使用Schema 4.3 Schema的文档结构 4.4 XSD的数据类型 4.4.1 简单数据类型 4.4.2 复杂数据类型 4.5 Schema中的元素声明 4.5.1 简单元素的声明 4.5.2 复杂元素的声明 4.5.3 匿名类型定义 4.6 Schema中的属性声明 4.7 全局元素和全局属性 4.8 在XML模式中创建元素和属性组 4.8.1 sequence元素 4.8.2 choice元素 4.8.3 group兀素 4.8.4 an元素 4.8.5 attributeGroup元素 4.9 在一个XML模式中使用另一个模式 4.9.1 include元素 4.9.2 import元素 4.10 本章小结 第5章 XML文档的显示——CSS 5.1 样式表简介 5.2 级联样式表CSS 5.2.1 什么是CSS 5.2.2 样式表与文档的链接 5.2.3 级联过程 5.3 CSS语法 5.4 CSS属性 5.4.1 字体属性 5.4.2 文本属性 5.4.3 背景属性 5.4.4 定位属性 5.4.5 尺寸属性 5.4.6 布局属性 5.4.7 外补丁属性 5.4.8 轮廓属性 5.4.9 边框属性 5.4.10 内容属性 5.4.11 内补丁属性 5.4.12 列表属性 5.4.13 表格属性 5.4.14 其他属性 5.5 本章小结 第6章 XML文档的显示——XSL 6.1 XSL概述 6.2 XSLT 6.2.1 为什么要用XSLT 6.2.2 XSLT的历史 6.2.3 XSLT和CSS的比较 6.3 XPath 6.3.1 XPath定义 6.3.2 XPath数据类型 6.3.3 XPath表达式 6.3.4 XPath定位路径 6.3.5 XPath标准函数库 6.4 XSL文档结构 6.5 XSLT的元素语法 6.5.1 XSL模板 6.5.2 使用xsl:value-of获得节点价 6.5.3 使用xsl:for-each处理多个儿素 6.5.4 默认的模板规则 6.5.5 对输出元素排序 6.5.6 选择 6.5.7 XPath表达式在XSL样式表中的使用方法总结 6.5.8 决定输出要包含的内容 6.5.9 使用xsl:copy复制当前节点 6.5.10 使用xsl:number为节点计数 6.5.11 使用xsl:variable定义常数 6.5.12 命名模板 6.5.13 参数及使用 6.5.14 删除和保留空白 6.5.15 合并多个样式表 6.6 本章小结 第7章 XML和Microsoft SQL Server 2000的集成 7.1 Microsoft SQL Server 2000对XML的支持 7.1.1 SQL Server 2000中的XML特征 7.1.2 SQL Server的XML体系结构 7.1.3 启用ⅡS对SQL Serverr XML的支持 7.2 使用存储在SQL Server中的数据生成XML文档 7.2.1 For XML Raw模式 7.2.2 For XML Auto模式 7.2.3 For XML Explicit模式 7.2.4 转义字符和特殊符号 7.3 对SQL Server数据库数据执行XPath查询 7.3.1 XDR架构元素 7.3.2 XPath查询的步骤 7.4 把XML数据插入到SQL Server数据库表中 7.5 本章小结 第8章 XLink和XPointer 8.1 XLink 8.1.1 链接 8.1.2 简单链接 8.1.3 扩展链接 8.1.4 外联链接 8.1.5 扩展链接组 8.2 XPointer 8.2.1 绝对位置项 8.2.2 相对位置项 8.2.3 字符串位置项 8.2.4 origin绝对位置项 8.3 本章小结 第9章 XML DOM编程模型 9.1 文档对象模型概述 9.2 XML解析器 9.3 DOM解析树 9.4 MSXML DOM模型结构 9.4.1 DOMDocument对象 9.4.2 IXMLDOMNode对象 9.4.3 IXMLDOMNodeList对象 9.4.4 IXMLDOMParseError对象 9.5 DOM编程步骤 9.6 本章小结 第10章 Java中的XML编程 10.1 使用DOM解析XML 10.1.1 Java DOM的API 10.1.2 Java DOM的应用 10.2 使用SAX解析XML 10.2.1 SAX中的事件 10.2.2 Java SAX的API 10.2.3 Java SAX的应用 10.3 使用JDOM解析XML 10.3.1 JDOM的API 10.3.2 JDOM的应用 10.4 本章小结 第11章 使用JavaScript操作XML文档 11.1 JavaScript语言概述 11.1.1 JavaScript的基本语法 11.1.2 JavaScript事件 11.1.3 JavaScript程序的编写及运行 11.2 使用JavaScript解析XML文档 11.2.1 创建DOM文档对象并载入XML文档 11.2.2 遍历XML DOM文档 11.2.3 在DOM中添加、删除和替换节点 11.3 使用JavaScript验证XML文档 11.3.1 使用DOM验证XML文档对于DTD的有效性 11.3.2 使用DOM验证XML文档对于XML模式的有效性 11.4 使用样式表实时处理XML文档 11.5 本章小结 第12章 .NET中的XML编程 12.1 使用流模式处理XML文档 12.1.1 读取XML文档 12.1.2 写XML文档 12.2 使用DOM处理XML文档 12.2.1 .NET W3C DOM类简介 12.2.2 使用DOM加载及保存XML数据 12.2.3 使用DOM浏览XML文档 12.2.4 创建新节点 12.2.5 修改和删除节点 12.3 ADO.NET与XML 12.3.1 ADO.NET简介 12.3.2 XML与DataSct对象的关系 12.3.3 使用DataSct对象访问XML文档 12.3.4 同步XML文档和DataSet对象 12.4 XML查询 12.4.1 XPathDocumernt 对象 12.4.2 XPathNavigator对象 12.4.3 XPathExpression对象 12.5 XML转换 12.5.1 使用编程的方式实现XML转换 12.5.2 使用ASP.NET中的控件显示XML数据 12.5.3 扩展XSLT样式表 12.5.4 扩展对象 12.6 XML序列化 12.6.1 XML的序列化 12.6.2 使用XmlSeriauzer序列化对象 12.6.3 控制XML序列化 12.7 本章小结 第13章 .NET中的XML Web Service 13.1 XML Web Service概述 13.1.1 什么是Web Service 13.1.2 Web Service软件的支持 13.1.3 XML Web Service的定义 13.1.4 XML Web Service的技术支持 13.2 创建和使用XML Web Service 13.2.1 创建XML Web Service 13.2.2 使用XML Web Service 13.3 本章小结 第14章 XML最新应用——Ajax 14.1 Ajax概述 14.2 Ajax技术基础 14.3 Ajax技术核心 14.3.1 创建XML HttpRequest对象 14.3.2 XML HttpRequest对象的方法与属性 14.3.3 Prototype框架 14.4 Ajax应用 14.5 本章小结

2010-04-01

JavaScript作业

第1题 编写一个脚本,该脚本要求用户输入两个整数,从用户那里获得这两个整数后,在一个警告框中显示较大的整数并在后面加上”is larger”。如果这两个整数相等,则在警告框中显示“These numbers are equal”。 第2题 编写一个脚本,该脚本读入一个整数,然后输出用于显示该整数是奇数还是偶数的XHTML文本(提示:使用求余数运算符。偶数是2的倍数,在被2除时,余数为0)。 第3题 编写一个脚本,该脚本读入两个整数,然后输出用于显示第一个整数是否是第二个整数的倍数的HTML文本(提示:使用求余数运算符)。 第4题 编写一个脚本,该脚本读入3个整数,然后确定和输出用于显示这一组数字中的最大值的XHTML文本。 第5题 用javascript在网页上打印出乘法九九表 1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 ............................. ....................................... 9*1=9 9*2=18 9*3=27 ...............9*9=81 方法1用javascript直接在网页上显示; 方法2在网页中调用javascript函数显示九九表。

2010-03-25

健康档案管理系统.RAR

管理信息系统课程设计指导书 设计要求: 1. 学生必须修完课程设计的先修课程(即数据库原理及应用),才有资格做课程设计。 2. 每个学生从题目一、二中任选一个,同一个教学班选相同题目的不得再选相同项目,请各教学班在课程设计进行之前上报题目及项目名。 3. 开发工具和环境不限(可以是Visual C++.Net、Visual C#.Net、Java等),开发出的系统的形式不限(可以是Win界面,也可以是Web界面),使用的数据库不限(可以是SQL Server或Oracle)。 4. 设计报告正文字数不少于0.4万字(不包括附录) 5. 设计报告要求手写,层次清楚、整洁规范、不得相互抄袭,凡正文内容有整段相同者一律以作弊论处。 6. 明确课程设计的目的和重要性,认真领会课程设计的题目,读懂课程设计指导书的要求,学会设计的基本方法与步骤,积极认真地做好准备工作。 7. 课程设计中,学会如何运用先修知识与收集、归纳相关资料解决具体问题的方法。 严格要求自己,自信但不固执,独立完成课程设计任务,善于接受教师的指导和听取同学的意见,有意识地树立严谨的科学作风,要独立思考,刻苦钻研,勇于创新,按时完成课程设计任务。 步骤一:详细调查 根据附录一项目任选一个(也可以根据当地实际情况自选项目),针对待开发的项目,对各相关业务部门进行详细调查,写出详细调查报告。 详细调查的内容涉及到组织功能的多个方面,可大致归纳为9类问题: ① 组织机构和功能业务; ② 组织目标和发展战略; ③ 工艺流程和产品构成; ④ 数据与数据流程; ⑤ 业务流程与工作形式; ⑥ 管理方式和具体业务的管理方法; ⑦ 决策方式和决策过程; ⑧ 可用资源和限制条件; ⑨ 现存问题和改进意见。 注意事项: 1.必要时,需要印制调查表,附录二是设计问卷时常用的一些问题,在实际工作中可根据不同的行业及岗位特点参考使用。 2.在详细调查了解每个具体工作岗位业务的同时,还必须收集与该业务有关的所有报表、文件、技术文档等。可要求用户将其附在调查问卷之后,并询问用户对当前的报表及其它文档的满意程度,是否需要修改以及如何修改等问题。 步骤二:系统分析 根据一现有系统(可以参照附录一项目,最好根据当地实际情况自选项目),分析各系统的业务流程。 (1)写出详细分析过程 (2)画出数据流程图 (3)编写数据字典 附录一: (1) 建立一个“健康档案管理系统”,使用计算机实现对学校学生健康信息的管理。要求不仅可用于一般的健康情况查询,而且可以对这些健康信息进行各种必要的数学统计和分析。系统主要的健康信息来自病历和体检,系统主要功能有: ① 登录:录入学生的健康档案。如果该学生以前从未在本医院登记过,系统要告诉用户有关信息,经确认后再行登记注册; ② 修改:修改一个学生的健康档案记录; ③ 删除:删除学生的健康档案记录。删除前应先确认以防止误删; ④ 查询:可以组合各种条件进行查询,显示学生的健康信息并打印健康文件报表; ⑤ 统计:对学生的基本健康状况进行各种必要的统计和分析。 (2) 设计一个布告栏管理系统,主要功能有: ① 登录一个新的布告项目; ② 撤销一个已登记的布告项目; ③ 按多种方式查询布告项目,要求信息查询显示由粗及细逐层深入。 (3) 设计一个实用的教学事务管理系统,处理教学的各种日常事务,如学生注册、选课、成绩登录,并可打印各种类型的通知单和报表。 (4) 图书馆要设计一个图书借阅系统,其功能包括: ① 借书:读者填写借书单,查询库存后,返回有无此书信息给读者,如有书,则办理借阅手续; ② 还书:用光笔读入图书上条形码,办理还书手续; ③ 赔偿与罚款:发生丢失、损坏图书或过期等情况时,要赔偿与罚款。 (5) 设计一个实用的工资管理程序,模拟会计的活动,实施工资帐目的存储、查询和更改,系统要求有高度的可靠性和安全性,并能按规定的格式打印工资报表。 (6) 设计一个实用的小型商店销售管理系统,其功能包括: ① 登记收入支出。 ② 统计每日或每周的销售情况,按规定格式打印销售报表。 ③ 允许多种方式查询货物情况。 ④ 按货物销售情况,提前发出预报。 (7) 学生自己拟定题目,但至少应包括以下功能实现: ① 用户登录/退出。 ② 单表的插入、修改和删除功能实现。 ③ 多表的连接查询和统计。 ④ 更高级的可以提供查询结果的预览、打印、导出到Excel等功能。 附录二:设计问卷调查的参考问题 1.你的工作岗位是什么? 2.你的工作性质是什么? 3.你的工作任务是什么? 4.你每天是怎样安排工作时间的? 5.你的工作结果与前/后续工作如何联系? 6.你所接触的报表和数据有哪些?满意程度如何?(将报表样张附后)) 7.你所在的工作岗位是否恰当?工作量如何? 8.你的工作计划不能合理安排的原因是什么? 9.你所在的工作岗位存在什么问题? 10.你通常采用什么手段来提高工作效率? 11.如果增加激励(如新技术、培训等),部门的工作效率是否会提高? 12.从有效组织生产的角度出发,你的权限是否适当? 13.你认为影响本企业经营效率的关键问题是什么? 14.从全局利益出发,你认为现有的管理体制是否合理? 15.你认为提高生产产量的潜力在哪里? 16.你认为现存管理体制的问题在哪里? 17.有效降低生产成本的途径有哪些? 18.信息系统的开发在本单位是否有必要? 19.你认为新的信息系统应该重点解决哪些问题? 20.你所在的工作岗位和你所接触的管理岗位可用哪些定量化的管理方法来提高工作效率? 21.在你所从事或了解的管理和决策工作中,哪些可用计算机来处理?哪些不能? 22.在你所从事或了解的管理工作中,决策效益应从哪些方面去衡量? 23.如果建立计算机信息处理系统,你愿意学习操作并经常使用吗?

2010-03-16

网络程序设计:ASP.rar

本书目标 初学者一看就入门; 有一定基础的人迅速提高。 因为长期从事网络程序设计技术研究和计算机基础应用教育,所以我一直想写一些由浅人深、从入门到精通的教材。希望这些教材真正以学生为中心,符合学生的认知规律,化高深为浅显,化复杂为简单。简单地说,就是让不会的人一看就入门,让会的人看了能迅速提高。 2001年,出版了《网络程序设计--ASP》(第1版),目的是为了解决学生对动态网页制作技术的迫切需要。关于动态网页设计,目前有很多技术,之所以选择ActiveServerPages(ASP),主要是因为它简单、易学、实用。 出版以来,受到了广大读者的认可和欢迎,很多读者也给我提出了很多很好的建议。为了答谢大家对我的厚爱,此次花了大量时间对本书进行了一次全面的更新,希望能更好地帮助大家学习ASP。 几个月来,我仔细研究了大量的计算机类教材和相关的网站,并广泛参考了各位教师、同学和读者的建议,对书中的每一段程序、每一个例子都经过了多次调试。并把书稿让一些朋友反复帮我测试,以发现初学者在学习中常常碰到的一些问题,并加以改进。惟一的希望就是让读者花尽可能短的时间掌握尽可能多的内容。 由于本人能力有限,肯定还有一些不妥当的地方,敬请读者在原谅我的同时给我指出,不胜感激。 本书结构 本书共包括12章,第1章到第2章讲述了什么是动态网页,主要的动态网页程序语言有哪些,如何搭建ASP的运行环境,如何开发一个简单的ASP程序。第3章介绍了VB-Script脚本语言。第4章到第6章介绍ASP的内部对象,如何获取客户端的数据,如何向客户端输出数据,如何记载特定客户和所有客户的信息。第7章到第9章由简到繁详细介绍了如何利用数据库存取组件存取数据库。第10章讲解了其他内部组件,包括文件存取组件、广告轮显组件、计数器组件等。第11章介绍了如何使用第三方提供的组件,包括如何实现文件上传和在线发送E-mail。第12章给出了4个开发实例。附录部分给出了常见问题答疑、ASP资源网站和HTML知识简介。 本书配套光盘包括全书所有例题的源代码,已经经过反复测试。 学习本书需要的预备知识 在学习本书前,希望您已经对HTML语言有一个大致的了解,常见的HTML元素要比较熟悉。简而言之,希望您能够利用HTML开发简单的网页。 当然,如果不是很熟也没关系,一边学习本书一边复习HTML语言就可以了。其实您只要多试几下就可以掌握。 本书附录C有简单的HTML知识介绍。 本书导读 本书在编写时,主要采用案例教学法,列举了大量的示例。一般的示例开始有解释,示例中易产生疑问的地方有注释,示例后面对重要或易错的内容还有说明。在看示例时,一定要从头开始认真逐行看,可以参考注释或程序说明。程序要反复看,看完后要达到这种程度:不仅要精通每一句,而且对程序的总体思想、总体结构要了然在胸,还要清楚本例学习到的新知识。如果能一边看,一边亲自输入练习,就更好了。看明白以后,就可以动手修改以符合您的要求。也正是为了让大家练习,所以有的示例并不很完善,需要您自己去完善。 本书在每一章前面精心设计了"本章要点",因为每一章内容都比较庞杂,但常用的内容还是比较少的,所以大家要注意本章要点,重点掌握该部分内容。 本书在每一章后面都精心设计了适量的习题,主要是针对本章重点、难点进行训练。对于掌握本章内容有非常重要的作用。 本书配套光盘里包括所有的源程序,大家可以参照光盘使用说明复制使用。希望大家都能亲自输一遍所有的源程序,即使无法做到这一点,也应该多加修改练习。 本书的支持网站(http://www.jjshang.com)有大量的相关的课件、补充资料、源代码、软件组件等资源,欢迎大家访问。

2010-03-10

SQL Server 2005+Visual C# 2005专业开发精解(源代码)

内容简介回到顶部↑作为SQL Server 2000的全新丌级版本,SQK Server 2005与Visual Studio 2005进行了紧密集成,这为企业数据管理和商务智能解决方案的设计能力和生产率带来了质的飞跃。 本书采用功能介绍与编程实践相结合的方式,以案例开发为导向,深入讲解了使用Visual c# 2005开发sQL Set。ver 2005典型应用的方法和技巧,内容包括:sQL Server的安装、管理和配置,基本Windows和ASF.NET数据库应用开发,sOLcLR编程技术,XML数据访问技术,SQL compact移动数据库应用开发,以及数据挖掘应用开发。 本书适用于广大数据库技术人员及编程爱好者,亦可作为计算机应用软件专业的教材或参考书。对于具有一定经验的SQL Server 2000开发人员来说,本书能够帮助他们迅速转入sQL Server 2005专业项目开发。 目录回到顶部↑第1章 SQL Sevrver2005开发概述  1.1 SQL Server 2005数据库管理与维护   1.1.1 安装SQL Server 2005   1.1.2 使用SQL Server Configuration Manager   1.1.3 使用SQL ServerManagement Studio   1.1.4 创建、修改和删除数据库    程序清单1-1使用SQL语句创建数据库BookStore   1.1.5 管理数据表格   程序清单1-2创建数据表格Book   1.1.6 管理数据视图   程序清单1-3创建数据视图V—BookSell   1.1.7 管理存储过程、函数和触发器   程序清单1-4 创建存储过程GetSellItemsByPress   程序清单1-5 修改存储过程GetSellltemsByPress   程序清单1-6 创建函数CalcSum   程序清单1-7 函数SearchSellltem   程序清单1-8 存储过程ResetSellltemSum   程序清单1-9 创建触发器OnDelBook   程序清单1-10 创建触发器OnUpdateBook   程序清单1-11 触发器OnDropTable .  1.1.8 基础数据维护   1.1.9 从SQL Server 2000/7.0快速升级到SQL Server 2005  1.2 使用ADO.NET开发SQL Server应用程序   1.2.1 ADO.NET概述  1.2.2 使用DataTable对象   1.2.3 使用DataSet对象   1.2.4 使用SqlConnection对象   1.2.5 使用SqlCommand对象   1.2.6 使用SqlDataReader对象   1.2.7 使用SqlDataAdapter对象 第2章 Windows数据库应用案例:书店零售管理系统  2.1 系统概述  2.2 数据库设计  2.2.1 数据表格设计   2.2.2 数据视图设计   程序清单2-1 创建数据视图v BookSell  2.2.3 存储过程和触发器设计   程序清单2-2 创建存储过程P GetSellDetail   程序清单2-3 创建触发器T NewSellltem   程序清单2-4 创建触发器T NewSell   程序清单2-5 创建触发器T UpdateScore  2.3 Windows应用程序开发   2.3.1 添加数据源   2.3.2 主控界面设计   2.3.3 图书管理   2.3.4 会员管理   2.3.5 零售管理   2.3.6 统计查询 第3章 ASP.NET数据库应用案例:网上软件商城  3.1 系统概述  3.2 数据库设计   3.2.1 数据表格设计   3.2.2 存储过程设计   程序清单3-1 存储过程GetCategories   程序清单3-2 存储过程GetProduct   程序清单3-3 存储过程SearchhProduetByCegory   程序清单3-4 存储过程SearchProductByName   程序清单3-5 存储过程SearchProduct   程序清单3-6 存储过程GetOrder   程序清单3-7 存储过程GetOrderItems   程序清单3-8 存储过程NewOrder   程序清单3-9 存储过程NewOrderItem   程序清单3-10 存储过程CheckoutOrdef   程序清单3-11 存储过程SendoutOrder   程序清单3-12存储过程GetPopularProducts  3.3 Web服务开发 …… 第4章 SQLCLR编程技术 第5章 SQLCLR应用案例:计算机考试管理系统 第6章 XML数据访问技术 第7章 XML数据访问案例:学术会议管理系统 第8章 SQL Server Compact Edition开发技术 第9章 SQL Server Compact应用案例:移动库存管理系统 第10章 SQL Server数据挖掘技术 第11章 SQL Server数据挖掘应用案例:图书销售智能分析

2010-02-28

Windows Forms .0 Programming

Windows Forms .0 Programming Any Windows programmer using .NET will need to deal with Windows Forms, also known as WinForms. And use of .NET among Windows programmers continues to grow at a rapid pace. The bestselling book on WinForms 1.X, and by far the best reviewed one, was Chris Sells' book. Chris and his coauthor, Mike Weinhardt, have updated it completely for the just released WinForms 2.0. The first edition was so successful in fact that there will be much less competition for this new edition. It is almost twice as long, reflecting the increased complexity of WinForms 2.0 and the number of changes made. It is also much more timely, coming out just a few months after the release of the product; it should be the first book on WinForms 2.0 tested completely against the final release code, not just the Beta 2 code. Given the amount of changes in WinForms 2.0, people who have already purchased the first edition will want the new edition, not just programmers just starting with .NET. So all in all, this book should sell even better than the very successful first edition did. From the Back Cover “Some books are different-the content can't be Googled from the Internet, the authors have real-life experiences to share, the code can be used in real-world projects. This is one of those books.” –Neal Myrddin, Independent Developer “Chris and Michael nail the soul of Windows Forms 2.0. This book provides an insightful view into the design of Windows Forms and the integration of new 2.0 features. It is just as applicable for the first-time Windows Forms programmer as the seasoned line of business developer. The ‘What’s New in 2.0’ appendix is worth the price of admission alone.” –Mike Harsh, Windows Forms Program Manager, Microsoft, Inc. “This book takes an amazingly broad and deep technology, and breaks it into manageable pieces that are easily consumed. You cannot survive building a complex WinForms application without this book.” –Ryan Dorrell, Chief Technology Officer, AgileThought “Windows Forms 2.0 Programming offers something for every .NET developer. Experienced developers will appreciate the in-depth coverage of new 2.0 features, including the most comprehensive coverage of ClickOnce deployment, multithreading, and the new designer integration found anywhere. Developers new to Winforms programming will appreciate the coverage of the fundamentals all Winforms developers need to know. Whether you’re an experienced WinForms developer or just beginning, you need this book.” –Fritz Onion, cofounder of Pluralsight, author of Essential ASP.NET, and ASP.NET MVP “I don’t want just a description of the WinForms widgets. I can get that online or from other books. What I want is a roadmap for pitfalls to avoid, and innovative solutions for common problems. That is where this book shines. All of us who found the first edition of this book to be an indispensible part of our reference library will appreciate this updated edition that describes WinForms 2.0.” –Johan Ericsson, Software Engineer, Agilent Technologies “The books Chris Sells writes are always insightful and this newest addition is no different. This book in particular is for those who want to understand not just the flashy surface of Windows Forms 2.0, but also how it fits into the .NET environment. Readers will have this book at their desks, not stuck on their shelves, for quite a long time.” –Yoshimatsu Fumiaki, Software Engineer based in Tokyo Japan “Chris and Mike have done an excellent job presenting the information you need to be successful with Windows Forms.” –Jessica Fosler, Dev Tech Lead, Microsoft “This book is the ‘must have’ teaching and reference book for WinForms 2.0.” –Jim Rittenhouse, Senior Software Engineer, Siemens Windows Forms 2.0 Programming is the successor to the highly praised Windows Forms Programming in C#. This edition has been significantly updated to amalgamate the sheer mass of new and improved support that is encompassed by Windows Forms 2.0, the .NET Framework 2.0, and Visual Studio 2005. This is the one book developers need in order to learn how to build and deploy leading-edge Windows Forms 2.0 applications. Readers will gain a deep understanding from Sells and Weinhardt’s practical, well-balanced approach to the subject and clear code samples. • Windows Forms 2.0 fundamentals, including forms, dialogs, data validation, help, controls, components, and rendering • Static and dynamic layout, snap lines, HTML-style flow and table layout, automatic resizing, and automatic cross-DPI scaling • Office 2003-style tool strip control coverage, including dynamic layout and custom rendering • Design-time integration with the Visual Studio 2005 Properties Window and Smart Tags • Resource management, strongly typed resources, and internationalization considerations • Strongly typed application and user settings • SDI, MDI, Single Instancing, Multiple-Instance SDI, Single-Instance MDI, database-centric, and document-centric applications • Databinding data-source management, drag-and-drop databinding, the BindingSource, the BindingNavigator, and applied databinding • Events, delegates, multithreaded UIs, long-running operations, simplified multithreading with the BackgroundWorker, and asynchronous web service calls • ClickOnce application development publishing, shell integration, and partial trust security • Best practices for developers transitioning from Windows Forms 1.0 and MFC About the Author Chris Sells is a program manager for the Connected Systems Division. He’s written several books, including Programming Windows Presentation Foundation (O’Reilly), Windows Forms Programming in C# (Addison-Wesley), and ATL Internals (Addison-Wesley). In his free time, Chris hosts various conferences and makes a pest of himself on Microsoft internal product team discussion lists. More information about Chris–and his various projects–is available at www.sellsbrothers.com. Michael Weinhardt is a programmer/writer at Microsoft, working on the Windows Client SDK. Michael has coauthored a variety of articles with Chris, contributed to the “Wonders of Windows Forms” column at MSDN Online, reviewed several Windows technology books, and generally loves communicating the whys and wherefores of technology to his peers. Michael is sure that his parents attribute his fascination in technology to their purchase of an Amiga 1000 in the mid-80s. They would be right.

2010-01-17

操作系统:设计与实现(第二版)下册

操作系统:设计与实现(第二版)下册 内容简介 本书是关于操作系统的权威教材,详细探讨了操作系统的基本原理,包括进程、进程间通信、信号量、管程、消息传递、调度算法、输入/输出、死锁、设备驱动程序、存储管理、调页算法、文件系统设计、安全和保护机制等。大多数关于操作系统的图书均重理论而轻实践,而本书则在这两者之间进行了较好的折中。本册给出了上册提到的MINIX3操作系统的安装方法以及详细的原代码,并附有光盘。 本书适用于高校计算机专业的学生,也可供程序设计人员、工程技术人员、系统架构师等相关人员参考。 -------------------------------------------------------------------------------- 目录 附录A 安装MINIX3 附录B MINIX源码 附录C 文件索引

2009-12-27

操作系统:设计与实现(第二版)

第l章 引言 1.1 什么是操作系统 1.1.1 操作系统作为虚拟机 1.1.2 操作系统作为资源管理器 1.2 操作系统发展历史 1.2.1 第一代计算机(1945~1955):真空管和插板 1.2.2 第二代计算机(1955~1965):晶体管和批处理系统 1.2.3 第三代计算机(1965~1980):集成电路芯片和多道程序 1.2.4 第四代计算机(1980~现在):个人计算机 1.2.5 MINIX的历史 1.3 操作系统基本概念 1.3.1 进程 1.3.2 文件 1.3.3 命令解释器 1.4 系统调用 1.4.1 进程管理系统调用 1.4.2 信号管理系统调用 1.4.3 文件管理系统调用 1.4.4 目录管理系统调用 . 1.4.5 保护系统调用 1.4.6 时间管理系统调用 1.5 操作系统结构 1.5.1 整体式系统 1.5.2 层次式系统 1.5.3 虚拟机系统 1.5.4 客户—服务器系统 1.6 各章内容简介 1.7 小结 习题 第2章 进程 2.1 进程介绍 2.1.1 进程模型 2.1.2 进程的实现 2.1.3 线程 2.2 进程间通信 2.2.1 竞争条件 2.2.2 临界区 2.2.3 忙等待的互斥 2.2.4 睡眠和唤醒 2.2.5 信号量 2.2.6 管程 2.2.7 消息传递 2.3 经典IPC问题 2.3.1 哲学家进餐问题 2.3.2 读者与者问题 2.3.3 理发师睡觉问题 2.4 进程调度 2.4.1 时间片轮转调度 2.4.2 优先级调度 2.4.3 多重队列 2.4.4 最短作业优先 2.4.5 保证调度算法 2.4.6 彩票调度算法 2.4.7 实时调度 2.4.8 两级调度法 2.4.9 策略与机制 2.5 MINIX进程概述 2.5.1 MINIX的内部结构 2.5.2 MINIX中的进程管理 2.5.3 MINIX中的进程间通信 2.5.4 MINIX中的进程调度 2.6 MINIX中进程的实现 2.6.1 MINIX源代码的组织 2.6.2 公共头文件 2.6.3 MINIX头文件 2.6.4 进程数据结构和头文件 2.6.5 引导MINIX 2.6.6 系统初始化 2.6.7 MINIX的中断处理 2.6.8 MINIX的进程间通信 2.6.9 MINIX的进程调度 2.6.10 与硬件相关的内核支持 2.6.11 实用程序和内核库 2.7 小结 习题 第3章 输入/输出系统 3.1 I/O硬件原理 3.1.1 I/O设备 3.1.2 设备控制器 3.1.3 存储器直接存取 3.2 I/O软件原理 3.2.1 I/O软件的目标 3.2.2 中断处理程序 3.2.3 设备驱动程序 3.2.4 与硬件无关的I/O软件 3.2.5 用户空间的I/O软件 3.3 死锁 3.3.1 资源 3.3.2 死锁的原理 3.3.3 鸵鸟算法 3.3.4 死锁检测和恢复 3.3.5 死锁的预防 3.3.6 避免死锁 3.4 MINIX I/O系统概述 3.4.1 MINIX的中断处理程序 3.4.2 MINIX的设备驱动程序 3.4.3 MINIX中与设备无关的I/O软件 3.4.4 MINIX中用户级I/O软件 3.4.5 MINIX的死锁处理 3.5 MINIX中的块设备 3.5.1 MINIX中块设备驱动程序概述 3.5.2 通用块设备驱动程序软件 3.5.3 驱动程序库 3.6 RAM盘 3.6.1 RAM盘硬件和软件 3.6.2 MINIX中的RAM盘驱动程序慨述 3.6.3 MWDE中的RAM盘驱动程序实现 3.7 磁盘 3.7.1 磁盘硬件 3.7.2 磁盘软件 3.7.3 MINIX中的硬盘驱动程序简介 3.7.4 MINIX中的硬盘驱动程序实现 3.7.5 软盘处理 3.8 时钟 3.8.1 时钟硬件 3.8.2 时钟软件 3.8.3 MINIX时钟驱动程序简介 3.8.4 MINIX时钟驱动程序实现 3.9 终端 3.9.1 终端硬件 3.9.2 终端软件 3.9.3 MINIX中终端驱动程序简介 3.9.4 设备无关终端驱动程序实现 3.9.5 键盘驱动程序的实现 3.9.6 显示驱动程序的实现 3.10 MINIX中的系统任务 3.11 小结 习题 第4章 存储器管理 4.1 基本的内存管理 4.1.1 没有交换和分页的单道程序 4.1.2 固定分区的多道程序 4.2 交换 4.2.1 使用位图的内存管理 4.2.2 使用链表的内存管理 4.3 虚拟存储器 4.3.1 分页 4.3.2 页表 4.3.3 TLB——转换后援存储器 4.3.4 逆向页表 4.4 页面替换算法 4.4.1 最优页面替换算法 4.4.2 最近未使用页面替换算法 4.4.3 先进先出页面替换算法 4.4.4 第二次机会页面替换算法 4.4.5 时钟页面替换算法 4.4.6 最久未使用页面替换算法 4.4.7 用软件仿真LRU 4.5 分页系统中的设计问题 4.5.1 工作集模型 4.5.2 局部与全局分配策略 4.5.3 页面大小 4.5.4 虚拟存储器界面 4.6 分段 4.6.1 纯分段系统的实现 4.6.2 分段和分页结合:MULTICS 4.6.3 分段和分页结合:Intel的Pentium 4.7 MINIX内存管理概览 4.7.1 内存布局 4.7.2 消息处理 4.7.3 内存管理器数据结构和算法 4.7.4 FORK、EXIT和WAIT系统调用 4.7.5 EXEC系统调用 4.7.6 BRK系统调用 4.7.7 信号处理 4.7.8 其他系统调用 4.8 M MINIX中内存管理的实现 4.8.1 头文件和数据结构 4.8.2 主程序 4.8.3 FORK、EXIT和WAIT的实现 4.8.4 EXEC的实现 4.8.5 BRK的实现 4.8.6 信号处理的实现 4.8.7 其他系统调用的实现 4.8.8 内存管理器工具 4.9 小结 习题 第5章 文件系统 5.1 文件 5.1.1 文件命名 5.1.2 文件结构 5.1.3 文件类型 5.1.4 文件存取 5.1.5 文件属性 5.1.6 文件操作 5.2 目录 5.2.1 层次目录系统 5.2.2 路径名’ 5.2.3 目录操作 5.3 文件系统的实现 5.3.1 实现文件 5.3.2 实现目录 5.3.3 磁盘空间管理 5.3.4 文件系统的可靠性 5.3.5 文件系统性能 5.3.6 日志结构的文件系统 5.4 安全性 5.4.1 安全环境 5.4.2 著名的安全缺陷 5.4.3 一般的安全性攻击 5.4.4 安全性的设计原则 5.4.5 用户验证 5.5 保护机制 5.5.1 保护域 5.5.2 存取控制表 5.5.3 权限 5.5.4 隐藏通道 5.6 MINIX文件系统概述 5.6.1 消息 5.6.2 文件系统布局 5.6.3 位图 5.6.4 i节点 5.6.5 块高速缓存 5.6.6 目录和路径 5.6.7 文件描述符 5.6.8 文件锁 5.6.9 管道和设备文件 5.6.10 一个例子:READ系统调用 5.7 MINIX文件系统的实现 5.7.1 头文件和全局变量 5.7.2 表的管理 5.7.3 主程序 5.7.4 对单个文件的操作 5.7.5 目录和路径 5.7.6 其他系统调用 5.7.7 I/O设备界面 5.7.8 一般的实用程序 5.8 小结 习题 第6章 阅读材料和参考文献 6.1 推荐的进一步的阅读材料 6.1.1 介绍和概论 6.1.2 进程 6.1.3 输入/输出 6.1.4 存储器管理 6.1.5 文件系统 6.2 按字母排序的参考文献 ↑折 叠 译者序回到顶部↑ 塔嫩鲍姆教授是国际知名的计算机科学家和教育家。他在操作系统、分布式系统以及计算机网络领域都有很深的造诣。自20世纪80年代以来,他已先后出版了一系列面向大学生和研究生的教材性质的专著,并被世界各国的许多大学广泛采用,这本书就是他的最新专著之一。 操作系统是计算机系统中最核心和最底层的软件,对操作系统的深入学习关系到对整个系统运作机制的全面理解,因此一本好教材也显得愈发重要。本书的英文版出版于197年,其中涵盖了操作系统课程的所有内容,即传统上的进程管理、存储器管理、文件管理和设备管理。同时其中又包含了许多新内容,如线程、基于消息传递的系统构造模型、日志结构文件系统、安全和保护机制、RAM盘及CD—ROM设备等,而用作例子的CPU则为Intel Pentium。这使得读者一方面能够学习操作系统的经典内容,另一方面又能够了解和跟踪当前的最新技术和研究成果。 本书的另一个特点是基本原理与具体实例,即MINIX紧密结合。第2章到第5章的前半部分讲述原理,后半部分则详细地解释这些原理在MINIX的设计和实现中的应用。通过阅读这些部分能够把握MINIX源代码的组织方式,并理解那些很关键或者很难懂的代码这部分内容非常翔实,有时甚至逐行地解释附录中所列的源程序。通过对操作系统课程多年的授课经验以及相关的科研工作,我们认识到:详细地剖析一个像MINIX这样的操作系统对于掌握操作系统设计与实现的精髓是大有稗益的。 正因为上述原因,我们真切地感受到将这本书翻译、介绍给国内读者将是一件非常有意义的事,衷心希望我们付出的劳动能对国内的操作系统教学和实践有所帮助和促进。 本书的第1章、第2章和第3章由王鹏翻译,刘福岩和陆宁也参加了部分工作;第4章由朱鹏翻译;第5章由敖青云翻译。全书由尤晋元教授审校并统稿。 在整个翻译过程中,上海交通大学计算机系系统软件研究室的师生给予了许多帮助。并且在计算机系本科生的操作系统课程中进行了试用,许多学生提出了很好的建议,在此向他们表示衷心的感谢。 虽然在翻译过程中我们尽力格守“信,达,雅”的准则,但不当和疏漏之处在所难免,敬请读者提出宝贵建议。 译 者 前言回到顶部↑ 多数操作系统教材都重理论而轻实践,本书希望在这二者之间求取较好的平衡。本书详细论述了操作系统的所有基本概念,包括进程、进程间通信、信号量、管程、消息传递、调度算法、输入/输出、死锁、设备驱动程序、存储器管理、页面调度算法、文件系统设计、安全与保护机制等。同时,本书也详细讨论了MINIX(——一个与UNIX(兼容的操作系统,并提供了完整的源代码供学习之用这样的安排使读者不仅学习到理论,而且能够理解它们如何应用在一个实际的操作系统之中。 本书第一版在1987年出版时,曾引发了操作系统课程教学的一场小小的变革。在此之前多数课程都只讲理论。随着MINIX的出现9许多学校开始增加实验环节以使学生了解实际的操作系统是如何运作的。我们认为这种趋势是可取的3并希望通过本书第二版能进一年加强这种趋势。 MINIX在其出现以来的十年间发生了许多变化,最初的代码是为基于8088芯片、256K内存和两个软驱的IBM PC机型编写的,它基于UNIX版本7。随着时间的推移,MINIX在许多方面有所发展,比如当前版本可运行在众多机型上,从16位实模式的Pc机到配有大容量硬盘的奔腾机(32位保护模式),而且它不再基于UNIX版本7,而是基于国际上的POSIX标准(POSIX 1003.1和ISO 9945-1)。与此同时,有许多新特征被添加到MINIX中,在我们看来,所增加的特征可能已经太多了,但有些人则认为还不够,这最终导致了LINUX的诞生。 MINIX还被移植到许多其他平台上,包括Macintosh、Amiga、Atari和SPARC.本书只涉及M则说2.0,到目前为止,该版本只能运行于基于80x86的机器或者可模拟此类CPU的机器,或者运行于SPARC机器。 与第一版相比,第二版有许多变化,原理性部分基本都被修改过,同时增加了大量新内容。最主要的变化是新的基于POSIX的MINIX,以及对其源代码的剖析。另外,每本书都附带一张CD-ROM,它包含了全部MINIX源代码,以及在PC上安装MINIX(的说明(见CD—ROM主目录下的README.TXT文件). 在一台80x86的PC机上安装MINIX(很方便。它需要一个至少30MB的硬盘分区,然后按照CD-ROM上README.TXT文件中的步骤进行即可。在打印README.TXT文件之前,先启动MS-DOS(若运行WINDOWS,则双击MS-DOS图标),然后键入copy readme.txt prn即可。该文件也可以用edit、wodpad、notepad等任何可以处理ASCⅡ正文的编辑器进行浏览。 对于没有Pc机的学校和个人,有两种解决办法,即CD-ROM上提供的两个模拟程序。一个是由Paul Ashton为SPARC机器编写的,可作为用户程序在Solaris上运行,此时MINIX被编合成SPARC上的可执行文件。在这种模式下,MINIX不再是一个操作系统,而只是一个用户程序,所以必须对其底层做一些修改。 另一个模拟程序由Bochs软件公司的Kevin P.Lawton编写,它解释Intel 80386的指令集以及足以使M取搬运行所需的I/O指令。显然,在解释器层次上运行使性能有所下降,但这使得学生更容易进行调试。该模拟程序运行在所有支持M.I.T的x-Window的系统上,更详细的信息诸参看。CD-ROM上的有关文件。 MINIX仍在继续发展,本书和CD—ROM中的内容仅仅反映了本书出版时的情况,有关MI-NIX的最新动态请访问MINIX的主页:http://www.cs.vu.nl/~ast/minix.html。 MINIX也有自己的USENET新闻组:comp.os.minix,读者可以订阅该新闻组。对于仅有e—mdl的读者可通过以下步骤来加入MINIX的邮件用户通信组。给1istserv@listserv.nodak.edu发一封信,其中只需一行字:“subscribe minix-l<您的完整用户名>”,此后你便会通过e—mai1获得很多的信息。 讲授本课程的教师可以从Prentice Hall出版公司获得一份习题解答手册。从WWW地址httP://www.cs.W.nl/ast/沿着“Software and supplementary material”链接可以获得一些有用的PostScript文件,其中包含本书中所有的图表,可供需要时使用。 在MINIX(的开发项目中我们有幸得到了许多人的帮助。首先要感谢Kees Bot在MINIX标准化和软件发布中所做的大量工作,没有他的帮助,我们不可能完成这件工作。他自己编写了大量的代码(如POSIX终端I/O),并修正了一些数年来一直存在的错误,还整理了其他的代码。 这些年来,Bruce Evans、Philip Homburg、Will Rose和Michael Temari为MINIX的开发做了大量的工作。有几百人通过新闻组对MINIX做出了贡献,他们人数众多,所做出的贡献也各不相同,在此谨向他们一并表示感谢。 John Casey、Dale Grit、Frans Kaashoek等人阅读了本书的部分手稿并提出了宝贵建议,在此向他们表示谢意。 Vrije大学的许多学生测试了CD—ROM中MINIX的β版本,他们是:Ahmed Batou、Goran Dokic、Peter Gijzel、Thomer Gil、Dennis Grimbergen、Roderick Groesbeek、Wouter haring、Guido Kollerie、Mark Lassche、Raymond Ris、Frans ter Borg、Alex van Ballegooy、Ries van der Velden、Alexander Wels以及Thomas zeeman。我们对他们细致的工作和详尽的报告致以衷心的感谢。 阿尔伯特·S·伍德豪尔向他从前的几位学生表示感谢,特别是Hampshire学院的Peter W.Young,Nacional Autonma de Nicaragua大学的Maria Isabel Sanchez和Willam Puddy Vargas。 最后要向我们的家庭成员表示感谢。 Suzanne已是第十次在我埋头写作时给我支持,对Barbara是第九次,Marvin是第八次,甚至小Bram也是第四次了。他们的支持和爱心对我非常重要。(塔嫩鲍姆) 至于阿尔伯特的Barbara,这倒是第一次,假如没有她的支持、耐心和幽默,我们是不可能完成这一工作的;对我的儿子Gordon而言,在编写本书时,他大部分时间都不在家中,而是在大学学习,但是,他与我志趣相投,并能理解和关注我所从事的工作,这让我感到十分欣慰。(伍德豪尔) 安德鲁·S·塔嫩鲍姆 阿尔伯特·S·伍德豪尔

2009-12-27

thinking in c++(卷一/二)

thinking in c++(卷一/二) thinking in c++(卷一/二) thinking in c++(卷一/二)

2009-12-26

Intel汇编语言程序设计(源码)

Intel汇编语言程序设计(源码) 温玉杰,张家生,罗云彬,源码

2009-12-26

Masm611.rar

Dos622下的汇编编译器MASM Dos622下的汇编编译器MASM Dos622下的汇编编译器MASM

2009-12-26

gcc for dos

最近流行的基于GNU GPL的自由开放的C/C++编译器,许多新的实用的DOS软件都是用它来编译的.大家就可以用它来编写新的DOS软件来使DOS更加强大.而且里面有大量GNUish的DOS软件包.关于DJGPP的更多文件(如编译器GCC等)或说明/资料,推荐程序员使用!

2009-12-26

Borland C++ 入门指南

装上了Borland C++ 3.1后等于你有了武器,但这还不够你必须还有这个入门指南你才会使用它

2009-12-26

Borland C++ 3.1 For Dos

最近重温早期那段Dos程序员的岁月,感觉用命令挺好的,特别是在你熟悉这些命令时,操作起来丝毫不逊色于可视化.这里奉上Borland C++ 3.1 for Dos希望你们会喜欢

2009-12-26

Programming.Principles and Practice Using C++.卷五

Programming.Principles and Practice Using C++.卷五

2009-12-18

Programming.Principles and Practice Using C++.卷四

Programming.Principles and Practice Using C++.卷四

2009-12-18

Programming.Principles and Practice Using C++.2008.卷三

Programming.Principles and Practice Using C++.2008.卷三

2009-12-18

Programming.Principles and Practice Using C++.卷二

Programming.Principles and Practice Using C++.卷二

2009-12-18

Programming: Principles and Practice Using C++卷一

Programming: Principles and Practice Using C++卷一

2009-12-18

C语言通用范例开发金典

第1章 数据结构. 1 1.1 数组和字符串 2 1.1.1 一维数组的倒置 2 范例1-1 一维数组的倒置 2 ∷相关函数:fun函数 1.1.2 一维数组应用 3 范例1-2 一维数组应用 3 1.1.3 一维数组的高级应用 5 范例1-3 一维数组的高级应用 5 1.1.4 显示杨辉三角 7 范例1-4 显示杨辉三角 7 ∷相关函数:c函数 8 1.1.5 魔方阵 9 范例1-5 魔方阵 9 1.1.6 三维数组的表示 14 范例1-6 三维数组的表示 14 ∷相关函数:InitArray函数 1.1.7 多项式的数组表示 17 范例1-7 多项式数组的表示 17 1.1.8 查找矩阵的马鞍点 19 范例1-8 查找矩阵的马鞍点 19 ∷相关函数:Get_Saddle函数 1.1.9 对角矩阵建立 21 范例1-9 对角矩阵建立 21 ∷相关函数:Store函数 1.1.10 三对角矩阵的建立 22 范例1-10 三对角矩阵的建立 22 ∷相关函数:Store函数 1.1.11 三角矩阵建立 24 范例1-11 三角矩阵建立 24 ∷相关函数:Store函数 1.1.12 对称矩阵的建立 25 范例1-12 对称矩阵的建立 25 ∷相关函数:store函数 1.1.13 字符串长度的计算 28 范例1-13 字符串长度的计算 28 ∷相关函数:strlen函数 1.1.14 字符串的复制 29 范例1-14 字符串的复制 29 ∷相关函数:strcpy函数 1.1.15 字符串的替换 31 范例1-15 字符串的替换 31 ∷相关函数:strrep函数 1.1.16 字符串的删除 33 范例1-16 字符串的删除 33 ∷相关函数:strdel函数 1.1.17 字符串的比较 35 范例1-17 字符串的比较 35 ∷相关函数:strcmp函数 1.1.18 字符串的抽取 36 范例1-18 字符串的抽取 36 ∷相关函数:substr函数 1.1.19 字符串的分割 38 范例1-19 字符串的分割 38 ∷相关函数:partition函数 1.1.20 字符串的插入 40 范例1-20 字符串的插入 40 ∷相关函数:insert函数 1.1.21 字符串的匹配 42 范例1-21 字符串的匹配 42 ∷相关函数:nfind函数 1.1.22 字符串的合并 43 范例1-22 字符串的合并 43 ∷相关函数:catstr函数 1.1.23 文本编辑 45 范例1-23 文本编辑 45 ∷相关函数:StrAssign函数 1.2 栈和队列 54 1.2.1 用数组仿真堆栈 54 范例1-24 用数组仿真堆栈 54 ∷相关函数:push函数 pop函数 1.2.2 用链表仿真堆栈 57 范例1-25 用链表仿真堆栈 57 ∷相关函数:push函数 pop函数 1.2.3 顺序栈公用 59 范例1-26 顺序栈公用 59 ∷相关函数:push函数 pop函数 1.2.4 进制转换问题 61 范例1-27 进制转换问题 61 ∷相关函数:MultiBaseOutput函数 1.2.5 顺序队列操作 64 范例1-28 顺序队列操作 64 ∷相关函数:push函数 pop函数 1.2.6 循环队列 66 范例1-29 循环队列 66 ∷相关函数:EnQueue函数 DeQueue函数 1.2.7 链队列的入队、出队 69 范例1-30 链队列入队、出队 69 ∷相关函数:push函数 pop函数 1.2.8 舞伴问题 71 范例1-31 舞伴问题 71 ∷相关函数:EnQueue函数 DeQueue函数 DancePartner函数 1.3 链表 75 1.3.1 头插法建立单链表 75 范例1-32 头插法建立单链表 75 ∷相关函数:createlist函数 1.3.2 限制链表长度建立单链表 77 范例1-33 限制链表长度建立长单链表 77 ∷相关函数:createlist函数 1.3.3 尾插法建立单链表 79 范例1-34 尾插法建立单链表 79 ∷相关函数:createlist函数 1.3.4 按序号查找单链表 80 范例1-35 按序号查找单链表 80 ∷相关函数:getnode函数 1.3.5 按值查找单链表 82 范例1-36 按值查找单链表 82 ∷相关函数:locatenode函数 1.3.6 链表的插入 84 范例1-37 链表的插入 84 ∷相关函数:insertnode函数 1.3.7 链表的删除 86 范例1-38 链表的删除 86 ∷相关函数:deletelist函数 1.3.8 归并两个单链表 88 范例1-39 归并两个单链表 88 ∷相关函数:concatenate函数 1.3.9 动态堆栈 90 范例1-40 动态堆栈 90 ∷相关函数:push函数 Pop函数 1.3.10 动态队列 93 范例1-41 动态队列 93 ∷相关函数:Enqueue函数 1.3.11 初始化单循环链表 95 范例1-42 初始化单循环链表 95 ∷相关函数:ListLength_CL函数 1.3.12 查询元素的前驱和后继 98 范例1-43 查询元素的前驱和后继 98 ∷相关函数:PriorElem_CL函数 NextElem_CL函数 1.3.13 单循环链表中元素的删除 101 范例1-44 单循环链表中元素的删除 101 ∷相关函数:ListDelete_CL函数 1.3.14 单循环链表的清除和销毁 107 范例1-45 单循环链表的清除和销毁 107 ∷相关函数:DestroyList函数 1.3.15 仅设表尾指针循环链表的合并 110 范例1-46 仅设表尾指针循环链表的合并 110 ∷相关函数:MergeList_CL函数 1.3.16 正序输出双向链表 113 范例1-47 正序输出双向链表 113 ∷相关函数:ListInsert函数 ListTraverse函数 1.3.17 逆向输出双向链表 116 范例1-48 三角矩阵建立 116 ∷相关函数:ListTraverseBack函数 1.3.18 删除双向链表中的节点 121 范例1-49 删除双向链表中的节点 121 ∷相关函数:ListDelete函数 1.3.19 双向链表的元素个数 124 范例1-50 双向链表的元素个数 124 ∷相关函数:ListLength函数 1.3.20 判断双向链表是否为空 126 范例1-51 判断双向链表是否为空 126 ∷相关函数:ListEmpty函数 1.3.21 双向链表元素值的查询 129 范例1-52 双向链表元素值的查询 129 ∷相关函数:GetElemP函数 1.3.22 稀疏矩阵的建立 136 范例1-53 稀疏矩阵的建立 136 ∷相关函数:Create函数 1.3.23 稀疏矩阵的删除 138 范例1-54 稀疏矩阵的删除 138 ∷相关函数:erase函数 1.4 树和二叉树 141 1.4.1 获得二叉树的深度和根(顺序结构) 141 范例1-55 获得二叉树的深度和根 141 ∷相关函数:BiTreeDepth函数 Root函数 1.4.2 获得二叉树的深度和根(链表结构) 144 范例1-56 获得二叉树的深度和根 144 ∷相关函数:BiTreeDepth函数 Root函数 1.4.3 树的插入(顺序结构) 147 范例1-57 树的插入 147 ∷相关函数:InsertChild函数 1.4.4 节点的修改(顺序结构) 150 范例1-58 节点的修改 150 ∷相关函数:Assign函数 1.4.5 节点的修改(链式结构) 154 范例1-59 节点的修改 154 ∷相关函数:Assign函数 1.4.6 双亲、孩子和兄弟节点的查询(顺序结构) 158 范例1-60 双亲、孩子和兄弟节点的查询 158 ∷相关函数:Parent函数 LeftChild函数 RightChild函数 LeftSibling函数 RightSibling函数 1.4.7 双亲、孩子和兄弟节点的查询(链式结构) 162 范例1-61 双亲、孩子和兄弟节点的查询 162 ∷相关函数:Parent函数 LeftChild函数 RightChild函数 LeftSibling函数 RightSibling函数 1.4.8 中序遍历二叉树(顺序结构) 169 范例1-62 中序遍历二叉树 169 ∷相关函数:InOrderTraverse函数 1.4.9 中序遍历二叉树(链式结构) 171 范例1-63 中序遍历二叉树 171 ∷相关函数:InOrderTraverse函数 1.4.10 中序非递归遍历二叉树(链式结构)(1) 174 范例1-64 中序非递归遍历二叉树 174 ∷相关函数:InOrderTraverse函数 1.4.11 中序非递归遍历二叉树(链式结构)(2) 177 范例1-65 中序非递归遍历二叉树 177 ∷相关函数:InOrderTraverse2函数 1.4.12 后序遍历二叉树(顺序结构) 180 范例1-66 后序遍历二叉树 180 ∷相关函数:PostOrderTraverse函数 1.4.13 后序遍历二叉树(链式结构) 183 范例1-67 后序遍历二叉树 183 ∷相关函数:PostOrderTraverse函数 1.4.14 层次遍历二叉树(顺序结构) 186 范例1-68 层次遍历二叉树 186 ∷相关函数:LevelOrderTraverse函数 1.4.15 层次遍历二叉树(链式结构) 188 范例1-68 层次遍历二叉树 188 ∷相关函数:LevelOrderTraverse函数 1.4.16 树的合并 191 范例1-70 树的合并 191 ∷相关函数:Find函数 Union函数 1.4.17 树的二叉链表存储的基本操作 193 范例1-71 树的二叉链表存储的基本操作 193 ∷相关函数:LevelOrderTraverse函数 1.4.18 二叉树的三叉链表存储的基本操作 201 范例1-72 二叉树的三叉链表存储表示 201 ∷相关函数:CreateBiTree函数 1.4.19 二叉树的二叉线索存储的基本操作 212 范例1-73 二叉树的二叉线索存储 212 ∷相关函数:CreateBiThrTree函数 1.4.20 树的双亲表存储的基本操作 215 范例1-74 树的双亲表存储的基本操作 215 ∷相关函数:CreateTree函数 1.4.21 哈夫曼编码(1) 223 范例1-75 哈夫曼编码(1) 223 ∷相关函数:HuffmanCoding函数 1.4.22 哈夫曼编码(2) 226 范例1-76 哈夫曼编码(2) 226 ∷相关函数:HuffmanCoding函数 1.5 排序 229 1.5.1 直接插入排序 229 范例1-77 直接插入排序 229 ∷相关函数:InsertSort函数 1.5.2 折半插入排序(顺序结构) 231 范例1-78 折半插入排序(顺序结构) 231 ∷相关函数:BInsertSort函数 1.5.3 2—路插入排序(顺序结构) 233 范例1-79 2—路插入排序(顺序结构) 233 ∷相关函数:P2_InsertSort函数 1.5.4 折半插入排序(链式结构) 235 范例1-80 折半插入排序(链式结构) 235 ∷相关函数:Arrange函数 1.5.5 2—路插入排序(链式结构) 238 范例1-81 2—路插入排序(链式结构) 238 ∷相关函数:Rearrange函数 1.5.6 希尔排序 241 范例1-82 希尔排序 241 ∷相关函数:ShellSort函数 1.5.7 冒泡排序 243 范例1-83 冒泡排序 243 ∷相关函数:bubble_sort函数 1.5.8 一趟快速排序 246 范例1-84 一趟快速排序 246 ∷相关函数:QSort函数 1.5.9 一趟快速排序的改进算法 248 范例1-85 一趟快速排序的改进算法 248 ∷相关函数:QuickSort函数 1.5.10 简单选择排序 250 范例1-86 简单选择排序 250 ∷相关函数:SelectSort函数 1.5.11 箱子排序 252 范例1-87 箱子排序 252 ∷相关函数:sort函数 1.5.12 树型选择排序 254 范例1-88 树型选择排序 254 ∷相关函数:TreeSort函数 1.5.13 堆排序 256 范例1-89 堆排序 256 ∷相关函数:HeapSort函数 1.5.14 归并排序 258 范例1-90 归并排序 258 ∷相关函数:MergeSort函数 1.5.15 多路平衡归并排序 260 范例1-91 多路平衡归并排序 260 ∷相关函数:K_Merge函数 1.5.16 置换—选择排序 265 范例1-92 置换—选择排序 265 ∷相关函数:Replace_Selection函数 1.5.17 文件的归并 269 范例1-93 文件的归并 269 ∷相关函数:K_Merge函数 1.6 查找 272 1.6.1 顺序表的查找 273 范例1-94 顺序表的查找 273 ∷相关函数:Search_Seq函数 1.6.2 静态树表的查找 276 范例1-95 静态树表的查找 276 ∷相关函数:Search_SOSTree函数 1.6.3 二叉排序树的基本操作 280 范例1-96 二叉排序树的基本操作 280 ∷相关函数:InsertBST函数 1.6.4 平衡二叉树的基本操作 285 范例1-97 平衡二叉树的基本操作 285 ∷相关函数:SearchBST函数 1.6.5 B树的基本操作 290 范例1-98 B树的基本操作 290 ∷相关函数:SearchBTree函数 1.6.6 按关键字符串的遍历双链键树 295 范例1-99 按关键字符串遍历双链键树 295 ∷相关函数:SearchDLTree函数 1.6.7 按关键字符串的遍历Trie树 301 范例1-100 按关键字符串遍历Trie树 301 ∷相关函数:SearchTrie函数 1.6.8 哈希表的基本操作 306 范例1-101 哈希表的基本操作 306 ∷相关函数:SearchHash函数 1.7 图 311 1.7.1 图的邻接矩阵存储表示 311 范例1-102 图的邻接矩阵存储表示 ∷相关函数:CreateFAG函数 CreateDG函数 1.7.2 图的邻接表存储表示 324 范例1-103 图的邻接表存储表示 324 ∷相关函数:CreateFAG函数 1.7.3 有向图的十字链表存储表示 335 范例1-104 有向图的十字链表存储表示 335 ∷相关函数:CreateDG函数 1.7.4 无向图的邻接多重表存储表示 344 范例1-105 无向图的邻接多重表存储表示 344 ∷相关函数:CreateGraph函数 1.7.5 最小生成树 355 范例1-106 最小生成树 355 ∷相关函数:MiniSpanTree_PRIM函数 1.7.6 关节点和重连通分量 359 范例1-107 关节点和重连通分量 359 ∷相关函数:FindArticul函数 1.7.7 拓扑排序 366 范例1-108 拓扑排序 366 ∷相关函数:TopologicalSort函数 1.7.8 关键路径 374 范例1-109 关键路径 374 ∷相关函数:CriticalPath函数 1.7.9 最短路径 383 范例1-110 最短路径 383 ∷相关函数:ShortestPath_DIJ函数 1.7.10 每一对顶点之间的最短路径 387 范例1-111 每一对顶点之间的最短路径 387 ∷相关函数:ShortestPath_FLOYD函数 1.8 本章小结 395 第2章 数值计算 397 2.1 常见的数学函数 398 2.1.1 求整数的绝对值 398 范例2-1 求整数的绝对值 398 ∷相关函数:abs函数 2.1.2 求长整型整数的绝对值 399 范例2-2 求长整型整数的绝对值 399 ∷相关函数:labs函数 2.1.2 求浮点数的绝对值 400 范例2-2 求浮点数的绝对值 400 ∷相关函数:fabs函数 2.1.4 求反余弦 400 范例2-4 求反余弦 400 ∷相关函数:acos函数 2.1.5 求反正弦 401 范例2-5 求反正弦 401 ∷相关函数:asin函数 2.1.6 求反正切 402 范例2-6 求反正切 402 ∷相关函数:atan函数 2.1.7 对浮点数进行舍入 403 范例2-7 对浮点数进行舍入 403 ∷相关函数:ceil函数 2.1.8 求余弦 404 范例2-8 求余弦 404 ∷相关函数:cos函数 2.1.9 求双曲余弦 405 范例2-9 求双曲余弦 405 ∷相关函数:cosh函数 2.1.10 求正弦 406 范例2-10 求正弦 406 ∷相关函数:sin函数 2.1.11 求双曲正弦 406 范例2-11 求双曲正弦 406 ∷相关函数:sinh函数 2.1.12 求正切 407 范例2-12 求正切 407 ∷相关函数:tan函数 2.1.13 求双曲正切 408 范例2-13 求双曲正切 408 ∷相关函数:tanh函数 2.1.14 获得整数相除的商和余数 409 范例2-14 获得整数相除的商和余数 409 ∷相关函数:div函数 2.1.15 求ex 410 范例2-15 求ex 410 ∷相关函数:exp函数 2.1.16 获取浮点相除的余数 411 范例2-16 获取浮点数相除的余数 411 ∷相关函数:fmod函数 2.1.17 获取浮点数的尾数和指数 412 范例2-17 获取浮点数的尾数和指数 412 ∷相关函数:frexp函数 2.1.18 求x2exponent 413 范例2-18 一维多项式求值 413 ∷相关函数:ldexp函数 2.1.19 求自然对数 413 范例2-19 求自然对数 413 ∷相关函数:log 函数 2.1.20 求lgx 414 范例2-20 求lgx 414 ∷相关函数:log10函数 2.1.21 获取浮点数的整数部分和小数部分 415 范例2-21 第二类椭圆积分 415 ∷相关函数:modf函数 2.1.22 求xy 416 范例2-22 求xy 416 ∷相关函数:pow函数 2.1.23 求10x 417 范例2-23 求10x 417 ∷相关函数:pow10函数 2.1.24 获取随机数 418 范例2-24 获取随机数 418 ∷相关函数:rand函数 2.1.25 设置随机数生成器初值 418 范例2-25 设置随机数生成器初值 418 ∷相关函数:srand函数 2.1.26 获取最大值和最小值 419 范例2-26 获取最大值和最小值 419 ∷相关函数:max函数 min函数 2.1.27 求直角三角形的斜边长 421 范例2-27 求直角三角形的斜边长 421 ∷相关函数:hypot函数 2.1.28 获取多项式的值 421 范例2-28 获取多项式的值 421 ∷相关函数:poly函数 2.2 多项式的计算 422 2.2.1 一维多项式求值 422 范例2-29 一维多项式求值 422 ∷相关函数:polyval函数 2.2.2 二维多项式求值 424 范例2-30 二维多项式求值 424 ∷相关函数:tdpolyval函数 2.2.3 复系数一维多项式求值 425 范例2-31 复系数一维多项式求值 425 ∷相关函数:cppolyval函数 2.2.4 多项式相乘 427 范例2-32 多项式相乘 427 ∷相关函数:polymul函数 2.2.5 复系数多项式相乘 428 范例2-33 复系数多项式相乘 428 ∷相关函数:cppolymul函数 2.2.6 多项式除法 430 范例2-34 多项式除法 430 ∷相关函数:polydiv函数 2.2.7 复数多项式相除 432 范例2-35 复数多项式相除 432 ∷相关函数:cppolydiv函数 2.3 复数运算 435 2.3.1 复数乘法 435 范例2-36 复数乘法 435 ∷相关函数:cpmul函数 2.3.2 复数除法 436 范例2-37 复数除法 436 ∷相关函数:cpdiv函数 2.3.3 复数乘幂 437 范例2-38 复数乘幂 437 ∷相关函数:cppower函数 2.3.4 复数的n次方根 439 范例2-39 复数乘法 439 ∷相关函数:cproot函数 2.3.5 复数指数 441 范例2-40 复数指数 441 ∷相关函数:polyval函数 2.3.6 复数对数 442 范例2-41 复数对数 442 ∷相关函数:cplog函数 2.3.7 复数正弦 443 范例2-42 复数正弦 443 ∷相关函数:cpsin函数 2.3.8 复数余弦 444 范例2-43 复数余弦 444 ∷相关函数:cpcos函数 2.4 随机数的产生 445 2.4.1 产生0~1之间均匀分布的随机数 446 范例2-44 0~1之间均匀分布的随机数 446 ∷相关函数:edisrnd函数 2.4.2 产生0~1之间均匀分布的随机数序列数 447 范例2-45 0~1之间均匀分布的随机数序列 447 ∷相关函数:edisrndsq函数 2.4.3 产生任意区间内均匀分布的随机数 448 范例2-46 产生任意区间内均匀分布的随机数 448 ∷相关函数:itervalrnd函数 2.4.4 产生任意区间内均匀分布的随机数序列 450 范例2-47 产生任意区间内均匀分布的随机数序列 450 ∷相关函数:itervalrndsq函数 2.4.5 产生任意均值与方差的正态分布的随机数 451 范例2-48 任意均值与方差的正态分布的随机数 451 ∷相关函数:nordisrnd函数 2.4.6 产生任意均值与方差的正态分布的随机数序列 453 范例2-49 任意均值与方差的正态分布随机数序列 453 ∷相关函数:nordisrndsq函数 2.5 矩阵运算 454 2.5.1 实矩阵相乘 454 范例2-50 实矩阵相乘 454 ∷相关函数:matrixmul函数 2.5.2 复矩阵相乘 456 范例2-51 复矩阵相乘 456 ∷相关函数:cpmatrixmul函数 2.5.3 一般实矩阵求逆 458 范例2-52 一般实矩阵求逆 458 ∷相关函数:matrix_inverse函数 2.5.4 一般复矩阵求逆 462 范例2-53 一般复矩阵求逆 462 ∷相关函数:multi_matrix_inverse函数 2.5.5 对称正定矩阵的求逆 465 范例2-54 对称正定矩阵的求逆 465 ∷相关函数:symmetric_positive_definite_matrix函数 2.5.6 托伯利兹矩阵求逆的特兰持方法 467 范例2-55 托伯利兹矩阵求逆的特兰持方法 467 ∷相关函数:toeplitz_inv函数 2.5.7 求一般行列式的值 470 范例2-56 求一般行列式的值 470 ∷相关函数:determinant_value函数 2.5.8 求矩阵的秩 472 范例2-57 求矩阵的秩 472 ∷相关函数:determinant_rank函数 2.5.9 对称正定矩阵的乔里斯基分解与行列式求值 474 范例2-58 对称正定矩阵的乔里斯基分解 474 ∷相关函数:cholesky_method函数 2.5.10 矩阵的三角分解 476 范例2-59 矩阵的三角分解 476 ∷相关函数:triangular_decomposition函数 2.5.11 一般实矩阵的QR分解 478 范例2-60 一般实矩阵的QR分解 478 ∷相关函数:qr_decomposition函数 2.5.12 求广义逆的奇异值分解法 480 范例2-61 求广义逆的奇异值分解法 480 ∷相关函数:singular_value_decomposition函数 generalized_inverses函数 2.6 矩阵特征值与特征向量的计算 489 2.6.1 约化对称矩阵为对称三对角阵的豪斯荷尔德变换法 489 范例2-62 约化对称矩阵为对称三对角阵 489 ∷相关函数:Householder_method函数 2.6.2 求对称三对角阵的全部特征值与特征向量 492 范例2-63 求对称三对角阵的全部特征值 492 ∷相关函数:def_qr函数 2.6.3 约化一般实矩阵为赫申伯格矩阵的初等相似变换法 496 范例2-64 约化实矩阵为赫申伯格矩阵 496 ∷相关函数:trans_hessenbreg函数 2.6.4 求赫申伯格矩阵全部特征值的QR方法 498 范例2-65 求赫申伯格矩阵全部特征值 498 ∷相关函数:hessenbreg_qr函数 2.6.5 求实对称矩阵特征值与特征向量的雅可比法 502 范例2-66 雅可比法求特征值与特征向量 502 ∷相关函数:jacobi_method函数 2.6.6 求实对称矩阵特征值与特征向量的雅可比过关法 505 范例2-67 雅可比过关法 505 ∷相关函数:jacobi_clearance函数 2.7 线性代数方程组的求解 507 2.7.1 求解实系数方程组的全选主元高斯消去法 508 范例2-68 全选主元高斯消去法 508 ∷相关函数:gauss_elimination函数 2.7.2 求解实系数方程组的全选主元高斯—约当消去法 510 范例2-69 全选主元高斯—约当消去法 510 ∷相关函数:gauss_jordan_elimination函数 2.7.3 求解复系数方程组的全选主元高斯消去法 513 范例2-70 求解复系数方程组(方法一) 513 ∷相关函数:plu_gauss函数 2.7.4 求解复系数方程组的全选主元高斯—约当消去法 516 范例2-71 求解复系数方程组(方法二) 516 ∷相关函数:plu_gauss_jordan函数 2.7.5 求解三对角线方程组的追赶法 519 范例2-72 求解三对角线方程组的追赶法 519 ∷相关函数:tridiagonal_chase函数 2.7.6 求解一般带型方程组 521 范例2-73 求解一般带型方程组 521 ∷相关函数:principal_gauss函数 2.7.7 求解对称方程组的分解法 523 范例2-74 求解对称方程组的分解法 523 ∷相关函数:equations_decomposition函数 2.7.8 求解对称正定方程组的平方根法 526 范例2-75 求解对称正定方程组的平方根法 526 ∷相关函数:equations_square_root函数 2.7.9 求解大型稀疏方程组 528 范例2-76 求解大型稀疏方程组 528 ∷相关函数:sparse_gauss_jordan函数 2.7.10 求解托伯利兹方程组的列文逊方法 531 范例2-77 求解托伯利兹方程组 531 ∷相关函数:toeplitz_levinson函数 2.7.11 高斯—赛德尔迭代法 533 范例2-78 高斯—赛德尔迭代法 533 ∷相关函数:gauss_seidel_iteration函数 2.7.12 求解对称正定方程组的共轭梯度法 535 范例2-79 求解对称正定方程组的共轭梯度法 535 ∷相关函数:conjugate_gradient_method函数 2.7.13 求解线性最小二乘问题的豪斯荷尔德变换法 537 范例2-80 求解线性最小二乘问题 537 ∷相关函数:least_square_householder函数 2.7.14 求解线性最小二乘问题的广义逆法 540 范例2-81 求解线性最小二乘问题的广义逆法 540 ∷相关函数:least_squares_reversion函数 2.7.15 求解病态方程组 549 范例2-82 求解病态方程组 549 ∷相关函数:morbid_equations函数 2.8 非线性方程与方程组的求解 553 2.8.1 求非线性方程一个实根的对分法 553 范例2-83 对分法 553 ∷相关函数:nonlinear_dichotomy函数 2.8.2 求非线性方程一个实根的牛顿法 555 范例2-84 牛顿法 555 ∷相关函数:newton_iterative函数 2.8.3 求非线性方程一个实根的埃特金迭代法 557 范例2-85 埃特金迭代法 557 ∷相关函数:aitken_iterative函数 2.8.4 求非线性方程一个实根的连分式法 558 范例2-86 连分式法 558 ∷相关函数:continued_fraction函数 2.8.5 求实系数代数方程全部根的QR方法 560 范例2-87 QR方法 560 ∷相关函数:qr_all函数 2.8.6 求实系数代数方程全部根的牛顿下山法 563 范例2-88 求实系数代数方程全部根的牛顿下山法 563 ∷相关函数:newton_descent_all函数 2.8.7 求复系数代数方程全部根的牛顿下山法 568 范例2-89 求复系数代数方程全部根的牛顿下山法 568 ∷相关函数:newton_descent_complex函数 2.8.8 求非线性方程组一组实根的梯度法 572 范例2-90 求非线性方程组一组实根的梯度法 572 ∷相关函数:gradient_nonlinear函数 2.8.9 求非线性方程组一组实根的拟牛顿法 574 范例2-91 求非线性方程组一组实根的拟牛顿法 574 ∷相关函数:quasi_newton_nonlinear函数 2.8.10 求非线性方程一个实根的蒙特卡洛法 577 范例2-92 求非线性方程的蒙特卡洛法 577 ∷相关函数:monte_carlo_nonlinear函数 2.8.11 求实函数或复函数方程一个复根的蒙特卡洛法 579 范例2-93 第二类椭圆积分 579 ∷相关函数:monte_carlo_realplex函数 2.8.12 求非线性方程组一组实根的蒙特卡洛法 581 范例2-94 第二类椭圆积分 581 ∷相关函数:monte_carlo_equation函数 2.9 插值与逼近 583 2.9.1 一元全区间插值 583 范例2-95 一元全区间插值 583 ∷相关函数:interpolation_total函数 2.9.2 一元三点插值 585 范例2-96 一元三点插值 585 ∷相关函数:interpolation_three函数 2.9.3 连分式插值 586 范例2-97 连分式插值 586 ∷相关函数:interpolation_continued函数 2.9.4 埃尔米特插值 588 范例2-98 埃尔米特插值 588 ∷相关函数:interpolation_hermite函数 2.9.5 埃特金逐步插值 590 范例2-99 第二类椭圆积分 590 ∷相关函数:interpolation_aitken函数 2.9.6 光滑插值 592 范例2-100 光滑插值 592 ∷相关函数:interpolation_akima函数 2.9.7 第一种边界条件的三次样条函数插值、微商与积分 595 范例2-101 第一种边界条件的三次样条函数 595 ∷相关函数:cubic_spline_first函数 2.9.8 第二种边界条件的三次样条函数插值、微商与积分 598 范例2-102 第二种边界条件的三次样条函数 598 ∷相关函数:cubic_spline_second函数 2.9.9 第三种边界条件的三次样条函数插值、微商与积分 600 范例2-103 第三种边界条件的三次样条函数 600 ∷相关函数:cubic_spline_third函数 2.9.10 二元三点插值 604 范例2-104 二元三点插值 604 ∷相关函数:interpolation_point函数 2.9.11 二元全区间插值 606 范例2-105 二元全区间插值 606 ∷相关函数:interpolation_total函数 2.9.12 最小二乘曲线拟合 608 范例2-106 最小二乘曲线拟合 608 ∷相关函数:least_squares_fitting函数 2.9.13 切比雪夫曲线拟合 611 范例2-107 切比雪夫曲线拟合 611 ∷相关函数:chebyshev_fitting函数 2.9.14 最佳一致逼近的里米兹方法 614 范例2-108 最佳一致逼近的里米兹方法 614 ∷相关函数:remez_method函数 2.9.15 矩形域的最小二乘曲面拟合 616 范例2-109 矩形域的最小二乘曲面拟合 616 ∷相关函数:rec_fitting函数 2.10 数值积分 621 2.10.1 变步长梯形求积法 621 范例2-110 变步长梯形求积法 621 ∷相关函数:integration_ladder函数 2.10.2 变步长辛卜生求积法 623 范例2-111 变步长辛卜生求积法 623 ∷相关函数:integration_simpson函数 2.10.3 自适应梯形求积法 624 范例2-112 自适应梯形求积法 624 ∷相关函数:integration_self_adaptive函数 2.10.4 龙贝格求积法 626 范例2-113 龙贝格求积法 626 ∷相关函数:integration_romberg函数 2.10.5 计算一维积分的连分式法 627 范例2-114 计算一维积分的连分式法 627 ∷相关函数:continued_fractions函数 2.10.6 高振荡函数求积法 629 范例2-115 高振荡函数求积法 629 ∷相关函数:higher_oscillatory_integration函数 2.10.7 勒让德—高斯求积法 631 范例2-116 勒让德—高斯求积法 631 ∷相关函数:legendre_gauss函数 2.10.8 拉盖尔—高斯求积法 633 范例2-117 拉盖尔—高斯求积法 633 ∷相关函数:laguerre_gauss函数 2.10.9 埃尔米特—高斯求积法 634 范例2-118 埃尔米特—高斯求积法 634 ∷相关函数:hermite_gauss函数 2.10.10 切比雪夫求积法 635 范例2-119 切比雪夫求积法 635 ∷相关函数:chebyshev函数 2.10.11 计算一维积分的蒙特卡洛法 637 范例2-120 计算一维积分的蒙特卡洛法 637 ∷相关函数:monte_carlo函数 2.10.12 变步长辛卜生二重积分法 638 范例2-121 变步长辛卜生二重积分法 638 ∷相关函数:simpson函数 2.10.13 计算多重积分的高斯方法 640 范例2-122 计算多重积分的高斯方法 640 ∷相关函数:gauss函数 2.10.14 计算二重积分的连分式法 643 范例2-123 计算二重积分的连分式法 643 ∷相关函数:continued_fractions_dual函数 2.10.15 计算多重积分的蒙特卡洛法 645 范例2-124 计算多重积分的蒙特卡洛法 645 ∷相关函数:monte_carlo_multi函数 2.11 常微分方程组的求解 647 2.11.1 全区间积分的定步长欧拉方法 647 范例2-125 全区间积分的定步长欧拉方法 647 ∷相关函数:euler_step函数.. 2.11.2 积分一步的变步长欧拉方法 649 范例2-126 积分一步的变步长欧拉方法 649 ∷相关函数:euler_variable函数 2.11.3 全区间积分的维梯方法 651 范例2-127 全区间积分的维梯方法 651 ∷相关函数:witty函数 2.11.4 全区间积分的定步长龙格—库塔方法 653 范例2-128 全区间积分的定步长龙格—库塔方法实例位置 653 ∷相关函数:runge_kutta函数 2.11.5 积分一步的变步长龙格—库塔方法 655 范例2-129 积分一步的变步长龙格—库塔方法实例位置 655 ∷相关函数:runge_kutta_steps函数 2.11.6 积分一步的变步长基尔方法 657 范例2-130 积分一步的变步长基尔方法 657 ∷相关函数:gill函数 2.11.7 全区间积分的变步长默森方法 659 范例2-131 全区间积分的变步长默森方法 659 ∷相关函数:merson函数 2.11.8 积分一步的连分式法 662 范例2-132 积分一步的连分式法 662 ∷相关函数:continued_step函数 2.11.9 全区间积分的双边法 665 范例2-133 全区间积分的双边法 665 ∷相关函数:bilateral函数 2.11.10 全区间积分的阿当姆斯预报校正法 668 范例2-134 阿当姆斯预报校正法 668 ∷相关函数:adams函数 2.11.11 全区间积分的哈明方法 671 范例2-135 全区间积分的哈明方法 671 ∷相关函数:hamming函数 2.11.12 积分一步的特雷纳方法 675 范例2-136 积分一步的特雷纳方法 675 ∷相关函数:treanor函数 2.11.13 二阶微分方程边值问题的数值解法 678 范例2-137 二阶微分方程边值问题的数值解法 678 ∷相关函数:finite_difference函数 2.12 数据处理与回归分析 680 2.12.1 随机样本分析 680 范例2-138 随机样本分析 680 ∷相关函数:rndsplanalysis函数 2.12.2 一元线性回归分析 683 范例2-139 一元线性回归分析 683 ∷相关函数:liregression函数 2.12.3 多元线性回归分析 685 范例2-140 多元线性回归分析 685 ∷相关函数:mulliregression函数 2.12.4 半对数数据相关 688 范例2-141 半对数数据相关 688 ∷相关函数:fittinglogt函数 2.12.5 对数数据相关 690 范例2-142 对数数据相关 690 ∷相关函数:fittingln函数 2.13 极值问题的求解 691 2.13.1 一维极值连分式法 691 范例2-143 一维极值连分式法 691 ∷相关函数:extremum函数 2.13.2 n维极值连分式法 693 范例2-144 n维极值连分式法 693 ∷相关函数:nextremum函数 2.13.3 不等式约束线性规划问题 696 范例2-145 不等式约束线性规划问题 696 ∷相关函数:linearprogram函数 2.14 数学变换与滤波 700 2.14.1 傅里叶级数逼近 700 范例2-146 傅里叶级数逼近 700 ∷相关函数:seriesfour函数 2.14.2 快速傅里叶变换 702 范例2-147 快速傅里叶变换 702 ∷相关函数:quickfft函数 2.14.3 快速沃什变换 705 范例2-148 快速沃什变换 705 ∷相关函数:quickfwt函数 2.14.4 五点三次平滑 706 范例2-149 五点三次平滑 706 ∷相关函数:smoothness函数 2.14.5 卡尔曼滤波 708 范例2-150 卡尔曼滤波 708 ∷相关函数:kalfilter函数 2.14.6 α-β-γ滤波 713 范例2-151 α-β-γ滤波 713 ∷相关函数:alphabgfilter函数 2.15 特殊函数 714 2.15.1 Gamma函数 715 范例2-152 Gamma函数 715 ∷相关函数:Gamma函数 2.15.2 不完全Gamma函数 716 范例2-153 不完全Gamma函数 716 ∷相关函数:incomgam函数 2.15.3 误差函数 719 范例2-154 误差函数 719 ∷相关函数:errorfun函数 2.15.4 第一类整数Bessel函数 721 范例2-155 第一类整数Bessel函数 721 ∷相关函数:bessel1函数 2.15.5 第二类整数Bessel函数 724 范例2-156 第二类整数Bessel函数 724 ∷相关函数:bessel2函数 2.15.6 变形第一类整数Bessel函数 727 范例2-157 变形第二类整数Bessel函数 727 ∷相关函数:varbessel1函数 2.15.7 变形第二类整数Bessel函数 729 范例2-158 变形第二类整数Bessel函数 729 ∷相关函数:varbessel2函数 2.15.8 不完全Beta函数 734 范例2-159 不完全Beta函数 734 ∷相关函数:beta函数 2.15.9 正态分布函数 736 范例2-160 正态分布函数 736 ∷相关函数:gauss函数 2.15.10 t-分布函数 739 范例2-161 t-分布函数 739 ∷相关函数:tdistribution函数 2.15.11 2-分布函数 742 范例2-162 2-分布函数 742 ∷相关函数:xdistribution函数 2.15.12 F-分布函数 744 范例2-163 F-分布函数 744 ∷相关函数:fdistribution函数 2.15.13 正弦积分 747 范例2-164 正弦积分 747 ∷相关函数:sinintegral函数 2.15.14 余弦积分 749 范例2-165 余弦积分 749 ∷相关函数:cosintegral函数 2.15.15 指数积分 750 范例2-166 指数积分 750 ∷相关函数:expintegral函数 2.15.16 第一类椭圆积分 752 范例2-167 第一类椭圆积分 752 ∷相关函数:ellipseintegral1函数 2.15.17 第二类椭圆积分 754 范例2-168 第二类椭圆积分 754 ∷相关函数:ellipseintegral2函数 2.16 本章小结 756 第3章 图形图像处理 757 3.1 字符屏幕 758 3.1.1 文本的输入与输出 758 范例3-1 文本的输入与输出 758 ∷相关函数:printf函数 scanf函数 3.1.2 outtext、outtextxy函数输出 759 范例3-2 outtext, outtextxy函数输出 759 ∷相关函数:outtext函数 outtextxy函数 3.1.3 设置文本格式 761 范例3-3 设置文本格式 761 ∷相关函数:settextstyle函数 3.1.4 设置图形文本排列方式 763 范例3-4 设置图形文本排列方式 763 ∷相关函数:settextjustify函数 3.1.5 设置用户字符比例 765 范例3-5 设置用户字符比例 765 ∷相关函数:setusercharsize函数 3.1.6 控制文本的明暗度 766 范例3-6 控制文本的明暗度 766 ∷相关函数:highvideo函数 normvideo函数 lowvideo函数 3.1.7 设置文本的前景色和背景色 767 范例3-7 设置文本的前景色和背景色 767 ∷相关函数:textcolor函数 textbackground函数 3.1.8 字符窗口 770 范例3-8 字符窗口 770 ∷相关函数:clrscr函数 window函数 gotoxy函数 3.1.9 清除光标行尾字符 772 范例3-9 清除光标行尾字符 772 ∷相关函数:clreol函数 3.1.10 插入与删除行 773 范例3-10 插入与删除行 773 ∷相关函数:insline函数 delline函数 3.1.11 屏幕参数检测 774 范例3-11 屏幕参数检测 774 ∷相关函数:getgraphmode函数 getmaxx函数 getmaxy函数 getmaxcolor函数 cleardevice函数 3.2 图形图像处理基础 777 3.2.1 绘制像素点 777 范例3-12 绘制像素点 777 ∷相关函数:putpixel函数 3.2.2 绘制直线 778 范例3-13 绘制直线 778 ∷相关函数:line函数 lineto函数 linerel函数 moveto函数 moverel函数 3.2.3 绘制矩形 780 范例3-14 绘制矩形 780 ∷相关函数:rectangle函数 3.2.4 绘制多边形 781 范例3-15 绘制多边形 781 ∷相关函数:drawpoly函数 3.2.5 绘制圆 783 范例3-16 绘制圆 783 ∷相关函数:circle函数 3.2.6 绘制椭圆 784 范例3-17 绘制椭圆 784 ∷相关函数:ellipse函数 fillellipse函数 3.2.7 绘制圆弧 786 范例3-18 绘制圆弧 786 ∷相关函数:arc函数 3.2.8 绘制扇区 787 范例3-19 绘制扇区 787 ∷相关函数:pieslice函数 sector函数 3.2.9 绘制条块 788 范例3-20 绘制条块 788 ∷相关函数:bar函数 bar3d函数 3.2.10 图设置线型 790 范例3-21 设置线型 790 ∷相关函数:Setlinestyle函数 3.2.11 绘制填充矩形 792 范例3-22 绘制填充矩形 792 ∷相关函数:setfillstyle函数 floodfill函数 3.2.12 填充多边形 795 范例3-23 填充多边形 795 ∷相关函数:fillpoly函数 3.2.14 设置用户图样 796 范例3-24 设置用户图样 796 ∷相关函数:setfillpattern函数 3.3 图形图像处理进阶 798 3.3.1 绘制彩色点云 798 范例3-25 绘制彩色点云 798 ∷相关函数:rand函数 kbhit函数 3.3.2 绘制正多边形 799 范例3-26 绘制正多边形 799 ∷相关函数:sin函数 cos函数 3.3.3 图形法绘制圆 801 范例3-27 图形法绘制圆 801 ∷相关函数:drawCircle函数 3.3.4 图形法绘制椭圆 803 范例3-28 图形法绘制椭圆 803 ∷相关函数:ellipse1函数 3.3.5 绘制正弦曲线 805 范例3-29 绘制正弦曲线 805 ∷相关函数:lineto函数 3.3.6 绘制抛物样条曲线 806 范例3-30 绘制抛物样条曲线 806 ∷相关函数:parspl函数 marking函数 3.3.7 绘制布朗曲线 809 范例3-31 绘制布朗曲线 809 ∷相关函数:CreateFractalImage函数 Gauss函数 3.3.8 动态绘制256色线条 811 范例3-32 动态绘制256色线条 811 ∷相关函数:int86函数 3.3.9 三原色亮度渐变 813 范例3-33 三原色亮度渐变 813 ∷相关函数:geninterrupt函数 3.3.10 三视图模拟 815 范例3-34 三视图模拟 815 ∷相关函数:front_view函数 top_view函数 left_view函数 perspective_view函数 3.3.11 空间椭球模拟 817 范例3-35 空间椭球模拟 817 ∷相关函数:trans函数 draw函数 3.3.12 百叶窗效果 820 范例3-36 百叶窗效果 820 ∷相关函数:putpoint函数 3.3.13 视觉欺骗 822 范例3-37 视觉欺骗 822 ∷相关函数:dot函数 circ函数 bulb函数 3.3.14 三维建筑物 824 范例3-38 三维建筑物 824 ∷相关函数:liner函数 rightlead函数 leftlead函数 shadow函数 identifier函数 3.4 组合图案绘制 830 3.4.1 一箭穿心图案 830 范例3-39 重新打开文件流 830 ∷相关函数:draw函数 arrow函数 3.4.2 六叶图案 832 范例3-40 六叶图案 832 ∷相关函数:arc函数 3.4.3 花瓣形图案 833 范例3-41 花瓣形图案 833 ∷相关函数:line函数 3.4.4 雪花图案 835 范例3-42 雪花图案 835 ∷相关函数:setviewport函数 3.4.5 布艺图案 837 范例3-43 布艺图案 837 ∷相关函数:fractal函数 3.4.6 飘带图案 838 范例3-44 飘带图案 838 ∷相关函数:line函数 3.4.7 金刚石图案 840 范例3-45 金刚石图案 840 ∷相关函数:line函数 3.4.8 圆环图案 841 范例3-46 圆环图案 841 ∷相关函数:circles函数 3.4.9 肾型图案 843 范例3-47 肾型图案 843 ∷相关函数:circle函数 3.4.10 心脏型图案 844 范例3-48 心脏型图案 844 ∷相关函数:circle函数 3.4.11 鱼网图案 846 范例3-49 重新打开文件流 846 ∷相关函数:arc函数 3.4.12 沙丘图案 848 范例3-50 沙丘图案 848 ∷相关函数:lineto函数 3.4.13 正六边形螺旋图案 849 范例3-51 正六边形螺旋图案 849 ∷相关函数:polygonc函数 3.4.14 正方形螺旋拼块图案 851 范例3-52 正方形螺旋拼块图案 851 ∷相关函数:polygonc函数 block函数 3.4.15 递归法绘制三角形图案 853 范例3-53 递归法绘制三角形图案 853 ∷相关函数:elli函数 3.4.16 玫瑰图案 855 范例3-54 玫瑰图案 855 ∷相关函数:elli函数 draw函数 3.4.17 天空图案 859 范例3-55 天空图案 859 ∷相关函数:int86函数 3.4.18 Mandelbrot分形图案 864 范例3-56 Mandelbrot分形图案 864 ∷相关函数:mandelbrot函数 iterate函数 3.5 窗体界面与报表设计 866 3.5.1 窗体设计 866 范例3-57 窗体设计 866 ∷相关函数:mainform函数 windowborder函数 controls函数 3.5.2 简单菜单设计 871 范例3-58 简单菜单设计 871 ∷相关函数:initm函数 showItems函数 process 函数 process3函数 process1函数 3.5.3 制作表格 877 范例3-59 制作表格 877 ∷相关函数:putpixel函数 3.5.4 折线图 878 范例3-60 折线图 878 ∷相关函数:itoa函数 settextjustify函数 3.5.5 饼状图 880 范例3-61 饼状图 880 ∷相关函数:pieslice函数 3.5.6 柱状图 881 范例3-62 柱状图 881 ∷相关函数:Funscore函数 Drowxy 函数 Fundrow函数 3.6 动画制作 884 3.6.1 旋转的立体椭球 884 范例3-63 旋转的立体椭球 884 ∷相关函数:setactivepage函数 setvisualpage函数 3.6.2 小球碰撞演示 887 范例3-64 小球碰撞演示 887 ∷相关函数:imagsize函数 getimage函数 putimage函数 3.6.3 飘动的旗帜 889 范例3-65 飘动的旗帜 889 ∷相关函数:hor_wave_line函数 ver_wave_line函数 3.6.4 行驶中的小车 891 范例3-66 行驶中的小车 891 ∷相关函数:imagsize函数 getimage函数 putimage函数 3.6.5 不停动嘴巴的头 893 范例3-67 不停动嘴巴的头 893 ∷相关函数:getaspectratio函数 setaspectratio函数 setactivepage函数 setvisualpage函数 3.6.6 旋转的太极图 898 范例3-68 旋转的太极图 898 ∷相关函数:getpalette函数 sector函数 3.6.7 螺旋运动的圆斑 901 范例3-69 螺旋运动的圆斑 901 ∷相关函数:drawgoal函数 3.6.8 闪动的彩色圆斑 903 范例3-70 闪动的彩色圆斑 903 ∷相关函数:drawgoal函数 3.6.9 奔跑的小人 904 范例3-71 奔跑的小人 904 ∷相关函数:line函数 circle函数 3.6.10 发射火箭 907 范例3-72 发射火箭 907 ∷相关函数:DrawStar函数 DrawGun函数 DrawPlan函数 3.6.11 擦玻璃 911 范例3-73 擦玻璃 911 ∷相关函数:pieslice函数 bioskey函数 3.6.12 流星球 914 范例3-74 流星球 914 ∷相关函数:getimage函数 putimage函数 3.6.13 简单时钟 916 范例3-75 简单时钟 916 ∷相关函数:gettime函数 3.6.14 立体时钟 918 范例3-76 立体时钟 918 ∷相关函数:time函数 3.6.15 飘雪 920 范例3-77 飘雪 920 ∷相关函数:DrawSnow函数 Pr函数 3.6.16 制作火焰 923 范例3-78 制作火焰 923 ∷相关函数:outportb函数 pokeb函数 3.6.17 天体系统 926 范例3-79 天体系统 926 ∷相关函数:init_start函数 roll函数 3.6.18 扇动翅膀的蝴蝶 935 范例3-80 扇动翅膀的蝴蝶 935 ∷相关函数:putpixel函数 3.6.19 米奇 936 范例3-81 重新打开文件流 936 ∷相关函数:imagsize函数 getimage函数 putimage函数 3.7 本章小结 940 第4章 磁盘、目录和文件的操作 941 4.1 磁盘的操作 942 4.1.1 获取当前盘驱动器 942 范例4-1 获取当前盘驱动器 942 ∷相关函数:getdisk函数 4.1.2 设置当前驱动器 943 范例4-2 设置当前驱动器 943 ∷相关函数:setdisk函数 4.1.3 获取磁盘的可用空间 945 范例4-3 获取磁盘的可用空间 945 ∷相关函数:getdfree函数 4.1.4 测试软驱是否可用 946 范例4-4 测试软驱是否可用 946 ∷相关函数:biosdisk函数 4.2 目录的操作 948 4.2.1 创建目录 948 范例4-5 创建目录 948 ∷相关函数:mkdir函数 4.2.2 改变当前目录 950 范例4-6 改变当前目录 950 ∷相关函数:chdir函数 4.2.3 删除目录 952 范例4-7 删除目录 952 ∷相关函数:rmdir函数 4.3 文件的操作 953 4.3.1 用fopen函数打开文件 953 范例4-8 用fopen函数打开文件 953 ∷相关函数:fopen函数 4.3.2 打开系统temp目录中的文件 955 范例4-9 打开系统temp目录中的文件 955 ∷相关函数:getenv函数 4.3.2 使用低级函数打开和关闭文件 957 范例4-10 使用低级函数打开和关闭文件 957 ∷相关函数:open函数 close函数 4.3.3 用fclose函数关闭文件 959 范例4-11 用fclose函数关闭文件 959 ∷相关函数:fclose函数 4.3.4 一次性关闭所有被打开的文件 961 范例4-12 一次性关闭所有被打开的文件 961 ∷相关函数:fcloseall函数 4.3.5 以字符为单位读写文件 963 范例4-13 以字符为单位读写文件 963 ∷相关函数:fgetc函数 fputc函数 4.3.6 以字为单位读写文件 965 范例4-14 以字为单位读写文件 965 ∷相关函数:getw函数 putw函数 4.3.7 以低级的方式读写文件 967 范例4-15 以低级的方式读写文件 967 ∷相关函数:read函数 write函数 4.3.8 按结构读写文件 969 范例4-16 按结构读写文件 969 ∷相关函数:read函数 write函数 4.3.9 格式化写文件 971 范例4-17 格式化写文件 971 ∷相关函数:fprintf函数 4.3.10 格式化读文件 972 范例4-18 格式化读文件 972 ∷相关函数:fscanf函数 4.3.11 以行为单位写文件 974 范例4-19 以行为单位写文件 974 ∷相关函数:fputs函数 4.3.12 以行为单位读文件 975 范例4-20 以行为单位读文件 975 ∷相关函数:fgets函数 4.3.13 将缓冲区内容写入文件 977 范例4-21 将缓冲区内容写入文件 977 ∷相关函数:setbuf函数 4.3.14 用lseek函数定位文件指针 978 范例4-22 用lseek函数定位文件指针 978 ∷相关函数:lseek函数 4.3.15 获取文件流的文件句柄 980 范例4-23 获取文件流的文件句柄 980 ∷相关函数:fileno函数 4.3.16 从文件流指针中导出文件句柄 982 范例4-24 从文件流指针中导出文件句柄 982 ∷相关函数:fopen函数 4.3.17 利用eof函数判断文件是否结束 984 范例4-25 利用eof函数判断文件是否结束 984 ∷相关函数:eof函数 4.3.18 利用feof函数判断文件结尾 986 范例4-26 利用feof函数判断文件结尾 986 ∷相关函数:feof函数 4.3.19 刷新I/O流 988 范例4-27 刷新I/O流 988 ∷相关函数:fflush函数 4.3.20 利用tmpnam函数创建临时文件名 990 范例4-28 利用tmpnam函数创建临时文件名 990 ∷相关函数:tmpnam函数 4.3.21 创建真正的临时文件 992 范例4-29 创建真正的临时文件 992 ∷相关函数:tmpfile函数 4.3.22 创建文件 993 范例4-30 创建文件 993 ∷相关函数:creat函数 4.3.23 在指定目录中创建唯一文件 995 范例4-31 在指定目录中创建唯一文件 995 ∷相关函数:creattemp函数 4.3.24 利用creatnew函数创建新文件 996 范例4-32 利用creatnew函数创建新文件 996 ∷相关函数:creatnew函数 4.3.25 删除文件 998 范例4-33 删除文件 998 ∷相关函数:remove函数 4.3.26 查找文件获取文件的路径 1000 范例4-34 查找文件获取文件的路径 1000 ∷相关函数:searchpath函数 4.3.27 分解文件路径 1001 范例4-35 分解文件路径 1001 ∷相关函数:fnsplit函数 4.3.28 建立文件完全路径名 1003 范例4-36 建立文件完全路径名 1003 ∷相关函数:fnmerge 函数 4.3.29 读取文件分配表信息 1005 范例4-37 读取文件分配表信息 1005 ∷相关函数:getfat函数 getfatd函数 4.3.30 判断读写所在的文件的位置 1007 范例4-38 判断读写所在的文件的位置 1007 ∷相关函数:ftell函数 4.3.31 重命名文件 1009 范例4-39 重命名文件 1009 ∷相关函数:rename函数 4.3.32 判断访问文件的模式 1011 范例4-40 判断访问文件的模式 1011 ∷相关函数:access函数 4.3.34 设置文件访问模式 1013 范例4-41 设置文件访问模式 1013 ∷相关函数:chmod函数 4.3.35 显示文件的属性 1015 范例4-42 显示文件的属性 1015 ∷相关函数:_chmod函数 4.3.36 检测文件流的错误 1017 范例4-43 检测文件流的错误 1017 ∷相关函数:ferror函数 4.3.37 判断文件的长度 1019 范例4-44 判断文件的长度 1019 ∷相关函数:filelength函数 4.3.38 通过句柄设置打开文件的方式 1022 范例4-45 通过句柄设置打开文件的方式 1022 ∷相关函数:setmode函数 4.3.39 读取文件的时间和日期标记 1023 范例4-46 读取文件的时间和日期标记 1023 ∷相关函数:getftime函数 4.3.40 设置文件的时间和日期标记 1026 范例4-47 设置文件的时间和日期标记 1026 ∷相关函数:setftimet函数 4.3.41 改变文件的长度 1028 范例4-48 改变文件的长度 1028 ∷相关函数:chsize函数 4.3.42 控制文件打开操作的读写模式 1029 范例4-49 控制文件打开操作的读写模式 1029 ∷相关函数:umask函数 4.3.43 复制文件句柄 1032 范例4-50 复制文件句柄 1032 ∷相关函数:dup函数 4.3.44 强制复制文件句柄 1033 范例4-51 强制复制文件句柄 1033 ∷相关函数:dup2函数 4.3.45 用句柄判断读写所在的文件的位置 1036 范例4-52 用句柄判断当前文件指针的位置 1036 ∷相关函数:tell函数 4.3.46 根据当前位置定位文件指针 1038 范例4-53 根据当前位置定位文件指针 1038 ∷相关函数:fseek函数 4.3.47 获取文件句柄的信息 1039 范例4-54 获取文件句柄的信息 1039 ∷相关函数:fstat函数 4.3.48 重新打开文件流 1041 范例4-55 重新打开文件流 1041 ∷相关函数:freopen函数 4.4 本章小结 1043 第5章 系统调用 1045 5.1 时间和日期的操作 1046 5.1.1 获取当前的时间和日期 1046 范例5-1 获取当前时间和日期 1046 ∷相关函数:time函数 5.1.2 让程序延时指定的时间段 1047 范例5-2 让程序延时指定的时间段 1047 ∷相关函数:delay函数 5.1.3 比较两个时间 1048 范例5-3 比较两个时间 1048 ∷相关函数:difftime函数 5.1.4 读BIOS计时器 1050 范例5-4 读BIOS计时器 1050 ∷相关函数:biostime函数 5.1.5 比较两个时间获取当地时间 1051 范例5-5 获取当地时间 1051 ∷相关函数:localtime函数 5.1.6 获取格林威治平时 1052 范例5-6 获取格林威治平时 1052 ∷相关函数:gmtime函数 5.1.7 获取DOS系统时间 1054 范例5-7 获取DOS系统时间 1054 ∷相关函数:gettime函数 5.1.8 获取DOS系统日期 1055 范例5-8 获取DOS系统日期 1055 ∷相关函数:getdate函数 5.1.9 设置DOS系统时间 1057 范例5-9 设置DOS系统时间 1057 ∷相关函数:settime函数 5.1.10 设置DOS系统日期 1059 范例5-10 设置DOS系统日期 1059 ∷相关函数:setdate函数 5.1.11 获取时区信息 1061 范例5-11 获取时区信息 1061 ∷相关函数:ftime函数 5.2 BIOS的操作 1062 5.2.1 利用BIOS获取打印机的状态 1062 范例5-12 利用BIOS获取打印机的状态 1062 ∷相关函数:biosprint函数 5.2.2 获取Ctrl+Break信息 1064 范例5-13 获取CTRL+BREAK信息 1064 ∷相关函数:getcbrk函数 5.2.3 暂时挂起程序 1066 范例5-14 暂时挂起程序 1066 ∷相关函数:sleep函数 5.2.4 控制声音 1067 范例5-15 控制声音 1067 5.2.5 利用bdos函数访问DOS服务 1068 范例5-16 利用bdos函数访问DOS服务 1068 ∷相关函数:bdos函数 5.2.6 获取BIOS常规内存数量 1071 范例5-17 获取BIOS常规内存数量 1071 ∷相关函数:biosmemory函数 5.2.7 获取寄存器设置信息 1072 范例5-18 获取寄存器设置信息 1072 ∷相关函数:segread函数 5.3 内存的操作 1074 5.3.1 给内存区域赋值 1074 范例5-19 给内存区域赋值 1074 ∷相关函数:memset函数 5.3.2 获取时区信息复制内存区域 1076 范例5-20 复制内存区域 1076 5.3.3 复制内存区域指定的字节 1078 范例5-21 复制内存区域指定的字节 1078 ∷相关函数:memccpy函数 5.3.4 获取时区信息 1080 范例5-22 比较两个无符号字符数组 1080 5.3.5 交换字符串的两个相邻字节内容 1082 范例5-23 交换字符串的两个相邻字节内容 1082 ∷相关函数:swab函数 5.3.6 利用brk函数改变堆的大小 1084 范例5-24 利用brk函数改变堆的大小 1084 ∷相关函数:brk函数 5.3.7 获取指定内存单元内容 1086 范例5-25 获取指定内存单元内容 1086 5.3.8 设置指定内存单元内容 1088 范例5-26 设置指定内存单元内容 1088 5.4 本章小结 1090 索引... 1091

2009-12-17

多功能截图工具(Snagit)

SnagIt 一个非常优秀的屏幕、文本和视频捕获与转换程序。 可以捕获Windows屏幕、DOS屏幕;RM电影、游戏画面;菜单、窗口、客户区窗口、最后一个激活的窗口或用鼠标定义的区域。图象可被存为BMP、PCX、TIF、GIF或JPEG格式,也可以存为系列动画。使用JPEG可以指定所需的压缩级(从1%到99%)。可以选择是否包括光标,添加水印。另外还具有自动缩放,颜色减少,单色转换,抖动,以及转换为灰度级。 此外,保存屏幕捕获的图象前,可以用其自带的编辑器编辑;也可以选择自动将其送至SnagIt打印机或Windows剪贴板中,也可以直接用E-mail发送。 SnagIt具有将显示在Windows桌面上的文本块转换为机器可读文本的独特能力,这里甚至无需CUT和PASTE。 程序支持DDE,所以其他程序可以控制和自动捕获屏幕。新版还能嵌入Word、PowerPoint和IE浏览器中。

2009-12-17

ASP.NET Night Words

基 础 知 识. 第1章 asp.net介绍 2 1.1 xhtml语言 2 1.2 静态网页 3 1.3 动态网页 3 1.4 iis的安装和配置 3 1.5 asp.net开发的预备知识 4 1.5.1 asp.net简介 4 1.5.2 在iis上配置asp.net 4 1.5.3 visual studio版本与 1.5.3 .net framework版本及 1.5.3 asp.net版本之间的关系 7 1.5.4 asp.net运行内幕 7 1.6 结论 9 第2章 asp.net基础 10 2.1 request对象 10 2.2 response对象 11 2.3 server对象 13 2.4 session对象 14 2.5 cookie对象 15 .2.6 application对象 16 2.7 viewstate对象 18 2.8 [%%]表达式 20 2.9 [%=%]表达式 20 2.10 目录运算符 22 2.11 总结 22 第3章 表单和控件 23 3.1 html表单的提交方式 23 3.2 html控件 25 3.3 获取html控件的值 25 3.4 sql注入 26 3.5 乱码问题 26 3.6 服务器端表单 28 3.7 html服务器控件 28 3.8 总结 31 第4章 visual studio 2008介绍 32 4.1 visual studio 2008网站 4.1 开发环境介绍 32 4.2 asp.net网站类型介绍 33 4.3 创建基于解决方案的asp.net 4.3 应用程序 35 4.4 asp.net内置文件夹介绍 36 4.5 xml注释 37 4.6 任务管理器 38 4.7 配置外部工具 39 4.8 代码段管理器 40 4.9 发布asp.net网站 44 4.10 总结 45 第5章 page类和回调技术 46 5.1 page类介绍 46 5.1.1 单文件页模型 46 5.1.2 代码隐藏页模型 48 5.2 asp.net页面的生命周期 50 5.3 利用page的事件进行统一 5.3 身份验证 52 5.4 ispostback属性 54 5.5 validaterequest属性 55 5.6 clientscript属性 56 5.7 回调技术 60 5.8 总结 67 第6章 asp.net基本控件 68 6.1 asp.net服务器控件简介 68 6.2 button控件 69 6.3 textbox控件 75 6.4 asp.net服务器控件的特殊 6.4 客户端事件 78 6.5 fileupload控件 81 6.6 literal控件 84 6.7 panel控件 86 6.8 placeholder控件 88 6.9 总结 89 第7章 ado.net介绍 90 7.1 ado.net简介 90 7.2 connection对象 93 7.3 command对象 100 7.4 datareader对象 101 7.5 dataadapter对象 105 7.6 dataset对象 105 7.7 datatable对象 108 7.8 参数化sql语句 110 7.9 分页查询sql语句 111 7.10 总结 114 第8章 数据绑定控件 115 8.1 dropdownlist控件 116 8.2 listbox控件 118 8.3 数据绑定表达式 120 8.4 gridview控件 122 8.5 datalist控件 133 8.6 repeater控件 136 8.7 form view控件 138 8.8 detailsview控件 141 8.9 总结 144 第9章 验证控件 145 9.1 数据验证介绍 145 9.2 客户端脚本验证 146 9.3 asp.net验证控件概述 148 9.4 requiredfieldvalidator控件 149 9.5 comparevalidator控件 151 9.6 rangevalidator控件 155 9.7 正则表达式 157 9.8 regularexpressionvalidator控件 159 9.9 customvalidator控件 161 9.10 validationsummary控件 165 9.11 分组验证技术 167 9.12 总结 170 第10章 复合控件和母板页 172 10.1 treeview控件 172 10.2 multiview控件 176 10.3 用javascript方式实现 10.3 选项卡式效果 181 10.4 wizard控件 186 10.5 masterpage母板页 190 10.6 总结.. 194 进 阶 知 识 第11章 web.config详解 196 11.1 配置文件的查找算法 196 11.2 配置文件节点介绍 198 11.2.1 [configsections]节点 198 11.2.2 [appsettings]节点 199 11.2.3 [connectionstrings]节点 199 11.2.4 [location]节点 199 11.2.5 [system.web]节点 200 11.3 配置文件的读/写操作 209 11.4 总结 213 第12章 asp.net底层探秘 214 12.1 asp.net底层之旅 214 12.2 ihttpmodule接口 217 12.3 httpapplication及global.asax 220 12.4 ihttphandler接口 224 12.4.1 实现自定义文件类型处理 224 12.4.2 给图片动态添加水印功能 226 12.4.3 防盗链功能 229 12.5 在iis中配置自己编写的 12.5 httphandler 236 12.6 总结 237 第13章 asp.net中的ajax开发 238 13.1 纯javascript开发ajax应用 238 13.2 第三方(ajaxpro)开发 13.2 ajax应用 246 13.3 微软ajax控件库开发ajax应用 254 13.3.1 scriptmanager控件 254 13.3.2 scriptmanagerproxy控件 255 13.3.3 updatepanel控件 255 13.3.4 timer控件 259 13.3.5 updateprogress控件 260 13.4 总结 265 第14章 分布式开发 266 14.1 分布式计算的概念 266 14.2 xml web service开发 266 14.2.1 xml web service介绍 266 14.2.2 xml web service服务器端 14.2.2 开发及部署 268 14.2.3 webservice的部署 270 14.2.4 webservice客户端开发 272 14.2.5 异步调用webservice 274 14.3 wcf开发 276 14.3.1 定义wcf服务契约和引入 14.3.1 wcf服务契约 277 14.3.2 构架wcf服务,运行wcf 14.3.1 服务 281 14.3.3 生成wcf服务代理的 14.3.1 代码文件 283 14.3.4 客户端访问wcf 285 14.3.5 运行程序 286 14.4 总结 286 第15章 asp.net中的三层架构 287 15.1 数据库通用类 287 15.1.1 sql server数据库访问 15.1.1 通用类 288 15.1.2 using关键字的用法 293 15.2 三层架构的定义及代码示例 294 15.3 三层架构的特点 309 15.4 对三层架构的一点扩充 309 15.5 总结 310 第16章 单元测试 311 16.1 nunit简介 311 16.2 nunit界面介绍 312 16.2.1 file菜单 312 16.2.2 project菜单 313 16.3 nunit api介绍 313 16.4 利用nunit进行单元测试 318 16.5 其他的单元测试软件 320 16.6 总结 321 第17章 asp.net中的gdi+技术 322 17.1 gdi+介绍 322 17.2 在数据中保存和显示图片 323 17.3 使用gdi+生成图片 330 17.4 验证码实现 331 17.5 总结 335 高 级 知 识 第18章 asp.net报表技术 338 18.1 owc控件的使用 338 18.2 zedgraph控件的使用 344 18.3 rdlc报表的使用 349 18.4 总结 355 第19章 .net的文件io体系和静态页面生成技术 356 19.1 .net中的文件体系 356 19.1.1 driveinfo类 356 19.1.2 directory及directoryinfo类 359 19.1.3 file及fileinfo类 362 19.1.4 path类 366 19.2 .net中的io体系 369 19.2.1 基于字节的流 369 19.2.2 基于字符的流 373 19.3 静态页面生成技术 378 19.3.1 为什么要生成静态页面 378 19.3.2 什么时候生成静态页面 379 19.3.3 如何生成静态页面 379 19.4 总结 387 第20章 数据安全技术 388 20.1 自定义加密 388 20.2 对称加密 391 20.3 不对称加密 398 20.4 加密签名 402 20.5 加密哈希 403 20.6 总结 406 第21章 asp.net网站的性能优化 407 21.1 程序编码优化 407 21.1.1 集合操作 407 21.1.2 字符串连接优化 410 21.1.3 类型转换优化 413 21.1.4 使用server.transfer()方法 414 21.1.5 避免不必要的服务器往返 414 21.1.6 尽早释放对象 415 21.1.7 尽量减少服务器控件的使用 415 21.2 数据操作优化 415 21.2.1 数据库连接对象使用优化 415 21.2.2 数据访问优化 416 21.2.3 优化sql语句 416 21.2.4 合理使用缓存 416 21.3 配置优化 420 21.3.1 禁用调试模式 420 21.3.2 合理使用viewstate 420 21.3.3 合理选择会话状态数据 21.3.3 存储模式 423 21.4 总结 424 第22章 综合实例 425 22.1 项目介绍 425 22.2 数据库设计 426 22.3 实体层设计 429 22.4 数据访问层设计 433 22.5 业务逻辑层设计 441 22.6 网站项目和单元测试项目说明 447 22.7 总结... 448

2012-09-26

C语言通用范例开发金典.part2.rar

资源简介 第1章 数据结构. 1 1.1 数组和字符串 2 1.1.1 一维数组的倒置 2 范例1-1 一维数组的倒置 2 ∷相关函数:fun函数 1.1.2 一维数组应用 3 范例1-2 一维数组应用 3 1.1.3 一维数组的高级应用 5 范例1-3 一维数组的高级应用 5 1.1.4 显示杨辉三角 7 范例1-4 显示杨辉三角 7 ∷相关函数:c函数 8 1.1.5 魔方阵 9 范例1-5 魔方阵 9 1.1.6 三维数组的表示 14 范例1-6 三维数组的表示 14 ∷相关函数:InitArray函数 1.1.7 多项式的数组表示 17 范例1-7 多项式数组的表示 17 1.1.8 查找矩阵的马鞍点 19 范例1-8 查找矩阵的马鞍点 19 ∷相关函数:Get_Saddle函数 1.1.9 对角矩阵建立 21 范例1-9 对角矩阵建立 21 ∷相关函数:Store函数 1.1.10 三对角矩阵的建立 22 范例1-10 三对角矩阵的建立 22 ∷相关函数:Store函数 1.1.11 三角矩阵建立 24 范例1-11 三角矩阵建立 24 ∷相关函数:Store函数 1.1.12 对称矩阵的建立 25 范例1-12 对称矩阵的建立 25 ∷相关函数:store函数 1.1.13 字符串长度的计算 28 范例1-13 字符串长度的计算 28 ∷相关函数:strlen函数 1.1.14 字符串的复制 29 范例1-14 字符串的复制 29 ∷相关函数:strcpy函数 1.1.15 字符串的替换 31 范例1-15 字符串的替换 31 ∷相关函数:strrep函数 1.1.16 字符串的删除 33 范例1-16 字符串的删除 33 ∷相关函数:strdel函数 1.1.17 字符串的比较 35 范例1-17 字符串的比较 35 ∷相关函数:strcmp函数 1.1.18 字符串的抽取 36 范例1-18 字符串的抽取 36 ∷相关函数:substr函数 1.1.19 字符串的分割 38 范例1-19 字符串的分割 38 ∷相关函数:partition函数 1.1.20 字符串的插入 40 范例1-20 字符串的插入 40 ∷相关函数:insert函数 1.1.21 字符串的匹配 42 范例1-21 字符串的匹配 42 ∷相关函数:nfind函数 1.1.22 字符串的合并 43 范例1-22 字符串的合并 43 ∷相关函数:catstr函数 1.1.23 文本编辑 45 范例1-23 文本编辑 45 ∷相关函数:StrAssign函数 1.2 栈和队列 54 1.2.1 用数组仿真堆栈 54 范例1-24 用数组仿真堆栈 54 ∷相关函数:push函数 pop函数 1.2.2 用链表仿真堆栈 57 范例1-25 用链表仿真堆栈 57 ∷相关函数:push函数 pop函数 1.2.3 顺序栈公用 59 范例1-26 顺序栈公用 59 ∷相关函数:push函数 pop函数 1.2.4 进制转换问题 61 范例1-27 进制转换问题 61 ∷相关函数:MultiBaseOutput函数 1.2.5 顺序队列操作 64 范例1-28 顺序队列操作 64 ∷相关函数:push函数 pop函数 1.2.6 循环队列 66 范例1-29 循环队列 66 ∷相关函数:EnQueue函数 DeQueue函数 1.2.7 链队列的入队、出队 69 范例1-30 链队列入队、出队 69 ∷相关函数:push函数 pop函数 1.2.8 舞伴问题 71 范例1-31 舞伴问题 71 ∷相关函数:EnQueue函数 DeQueue函数 DancePartner函数 1.3 链表 75 1.3.1 头插法建立单链表 75 范例1-32 头插法建立单链表 75 ∷相关函数:createlist函数 1.3.2 限制链表长度建立单链表 77 范例1-33 限制链表长度建立长单链表 77 ∷相关函数:createlist函数 1.3.3 尾插法建立单链表 79 范例1-34 尾插法建立单链表 79 ∷相关函数:createlist函数 1.3.4 按序号查找单链表 80 范例1-35 按序号查找单链表 80 ∷相关函数:getnode函数 1.3.5 按值查找单链表 82 范例1-36 按值查找单链表 82 ∷相关函数:locatenode函数 1.3.6 链表的插入 84 范例1-37 链表的插入 84 ∷相关函数:insertnode函数 1.3.7 链表的删除 86 范例1-38 链表的删除 86 ∷相关函数:deletelist函数 1.3.8 归并两个单链表 88 范例1-39 归并两个单链表 88 ∷相关函数:concatenate函数 1.3.9 动态堆栈 90 范例1-40 动态堆栈 90 ∷相关函数:push函数 Pop函数 1.3.10 动态队列 93 范例1-41 动态队列 93 ∷相关函数:Enqueue函数 1.3.11 初始化单循环链表 95 范例1-42 初始化单循环链表 95 ∷相关函数:ListLength_CL函数 1.3.12 查询元素的前驱和后继 98 范例1-43 查询元素的前驱和后继 98 ∷相关函数:PriorElem_CL函数 NextElem_CL函数 1.3.13 单循环链表中元素的删除 101 范例1-44 单循环链表中元素的删除 101 ∷相关函数:ListDelete_CL函数 1.3.14 单循环链表的清除和销毁 107 范例1-45 单循环链表的清除和销毁 107 ∷相关函数:DestroyList函数 1.3.15 仅设表尾指针循环链表的合并 110 范例1-46 仅设表尾指针循环链表的合并 110 ∷相关函数:MergeList_CL函数 1.3.16 正序输出双向链表 113 范例1-47 正序输出双向链表 113 ∷相关函数:ListInsert函数 ListTraverse函数 1.3.17 逆向输出双向链表 116 范例1-48 三角矩阵建立 116 ∷相关函数:ListTraverseBack函数 1.3.18 删除双向链表中的节点 121 范例1-49 删除双向链表中的节点 121 ∷相关函数:ListDelete函数 1.3.19 双向链表的元素个数 124 范例1-50 双向链表的元素个数 124 ∷相关函数:ListLength函数 1.3.20 判断双向链表是否为空 126 范例1-51 判断双向链表是否为空 126 ∷相关函数:ListEmpty函数 1.3.21 双向链表元素值的查询 129 范例1-52 双向链表元素值的查询 129 ∷相关函数:GetElemP函数 1.3.22 稀疏矩阵的建立 136 范例1-53 稀疏矩阵的建立 136 ∷相关函数:Create函数 1.3.23 稀疏矩阵的删除 138 范例1-54 稀疏矩阵的删除 138 ∷相关函数:erase函数 1.4 树和二叉树 141 1.4.1 获得二叉树的深度和根(顺序结构) 141 范例1-55 获得二叉树的深度和根 141 ∷相关函数:BiTreeDepth函数 Root函数 1.4.2 获得二叉树的深度和根(链表结构) 144 范例1-56 获得二叉树的深度和根 144 ∷相关函数:BiTreeDepth函数 Root函数 1.4.3 树的插入(顺序结构) 147 范例1-57 树的插入 147 ∷相关函数:InsertChild函数 1.4.4 节点的修改(顺序结构) 150 范例1-58 节点的修改 150 ∷相关函数:Assign函数 1.4.5 节点的修改(链式结构) 154 范例1-59 节点的修改 154 ∷相关函数:Assign函数 1.4.6 双亲、孩子和兄弟节点的查询(顺序结构) 158 范例1-60 双亲、孩子和兄弟节点的查询 158 ∷相关函数:Parent函数 LeftChild函数 RightChild函数 LeftSibling函数 RightSibling函数 1.4.7 双亲、孩子和兄弟节点的查询(链式结构) 162 范例1-61 双亲、孩子和兄弟节点的查询 162 ∷相关函数:Parent函数 LeftChild函数 RightChild函数 LeftSibling函数 RightSibling函数 1.4.8 中序遍历二叉树(顺序结构) 169 范例1-62 中序遍历二叉树 169 ∷相关函数:InOrderTraverse函数 1.4.9 中序遍历二叉树(链式结构) 171 范例1-63 中序遍历二叉树 171 ∷相关函数:InOrderTraverse函数 1.4.10 中序非递归遍历二叉树(链式结构)(1) 174 范例1-64 中序非递归遍历二叉树 174 ∷相关函数:InOrderTraverse函数 1.4.11 中序非递归遍历二叉树(链式结构)(2) 177 范例1-65 中序非递归遍历二叉树 177 ∷相关函数:InOrderTraverse2函数 1.4.12 后序遍历二叉树(顺序结构) 180 范例1-66 后序遍历二叉树 180 ∷相关函数:PostOrderTraverse函数 1.4.13 后序遍历二叉树(链式结构) 183 范例1-67 后序遍历二叉树 183 ∷相关函数:PostOrderTraverse函数 1.4.14 层次遍历二叉树(顺序结构) 186 范例1-68 层次遍历二叉树 186 ∷相关函数:LevelOrderTraverse函数 1.4.15 层次遍历二叉树(链式结构) 188 范例1-68 层次遍历二叉树 188 ∷相关函数:LevelOrderTraverse函数 1.4.16 树的合并 191 范例1-70 树的合并 191 ∷相关函数:Find函数 Union函数 1.4.17 树的二叉链表存储的基本操作 193 范例1-71 树的二叉链表存储的基本操作 193 ∷相关函数:LevelOrderTraverse函数 1.4.18 二叉树的三叉链表存储的基本操作 201 范例1-72 二叉树的三叉链表存储表示 201 ∷相关函数:CreateBiTree函数 1.4.19 二叉树的二叉线索存储的基本操作 212 范例1-73 二叉树的二叉线索存储 212 ∷相关函数:CreateBiThrTree函数 1.4.20 树的双亲表存储的基本操作 215 范例1-74 树的双亲表存储的基本操作 215 ∷相关函数:CreateTree函数 1.4.21 哈夫曼编码(1) 223 范例1-75 哈夫曼编码(1) 223 ∷相关函数:HuffmanCoding函数 1.4.22 哈夫曼编码(2) 226 范例1-76 哈夫曼编码(2) 226 ∷相关函数:HuffmanCoding函数 1.5 排序 229 1.5.1 直接插入排序 229 范例1-77 直接插入排序 229 ∷相关函数:InsertSort函数 1.5.2 折半插入排序(顺序结构) 231 范例1-78 折半插入排序(顺序结构) 231 ∷相关函数:BInsertSort函数 1.5.3 2—路插入排序(顺序结构) 233 范例1-79 2—路插入排序(顺序结构) 233 ∷相关函数:P2_InsertSort函数 1.5.4 折半插入排序(链式结构) 235 范例1-80 折半插入排序(链式结构) 235 ∷相关函数:Arrange函数 1.5.5 2—路插入排序(链式结构) 238 范例1-81 2—路插入排序(链式结构) 238 ∷相关函数:Rearrange函数 1.5.6 希尔排序 241 范例1-82 希尔排序 241 ∷相关函数:ShellSort函数 1.5.7 冒泡排序 243 范例1-83 冒泡排序 243 ∷相关函数:bubble_sort函数 1.5.8 一趟快速排序 246 范例1-84 一趟快速排序 246 ∷相关函数:QSort函数 1.5.9 一趟快速排序的改进算法 248 范例1-85 一趟快速排序的改进算法 248 ∷相关函数:QuickSort函数 1.5.10 简单选择排序 250 范例1-86 简单选择排序 250 ∷相关函数:SelectSort函数 1.5.11 箱子排序 252 范例1-87 箱子排序 252 ∷相关函数:sort函数 1.5.12 树型选择排序 254 范例1-88 树型选择排序 254 ∷相关函数:TreeSort函数 1.5.13 堆排序 256 范例1-89 堆排序 256 ∷相关函数:HeapSort函数 1.5.14 归并排序 258 范例1-90 归并排序 258 ∷相关函数:MergeSort函数 1.5.15 多路平衡归并排序 260 范例1-91 多路平衡归并排序 260 ∷相关函数:K_Merge函数 1.5.16 置换—选择排序 265 范例1-92 置换—选择排序 265 ∷相关函数:Replace_Selection函数 1.5.17 文件的归并 269 范例1-93 文件的归并 269 ∷相关函数:K_Merge函数 1.6 查找 272 1.6.1 顺序表的查找 273 范例1-94 顺序表的查找 273 ∷相关函数:Search_Seq函数 1.6.2 静态树表的查找 276 范例1-95 静态树表的查找 276 ∷相关函数:Search_SOSTree函数 1.6.3 二叉排序树的基本操作 280 范例1-96 二叉排序树的基本操作 280 ∷相关函数:InsertBST函数 1.6.4 平衡二叉树的基本操作 285 范例1-97 平衡二叉树的基本操作 285 ∷相关函数:SearchBST函数 1.6.5 B树的基本操作 290 范例1-98 B树的基本操作 290 ∷相关函数:SearchBTree函数 1.6.6 按关键字符串的遍历双链键树 295 范例1-99 按关键字符串遍历双链键树 295 ∷相关函数:SearchDLTree函数 1.6.7 按关键字符串的遍历Trie树 301 范例1-100 按关键字符串遍历Trie树 301 ∷相关函数:SearchTrie函数 1.6.8 哈希表的基本操作 306 范例1-101 哈希表的基本操作 306 ∷相关函数:SearchHash函数 1.7 图 311 1.7.1 图的邻接矩阵存储表示 311 范例1-102 图的邻接矩阵存储表示 ∷相关函数:CreateFAG函数 CreateDG函数 1.7.2 图的邻接表存储表示 324 范例1-103 图的邻接表存储表示 324 ∷相关函数:CreateFAG函数 1.7.3 有向图的十字链表存储表示 335 范例1-104 有向图的十字链表存储表示 335 ∷相关函数:CreateDG函数 1.7.4 无向图的邻接多重表存储表示 344 范例1-105 无向图的邻接多重表存储表示 344 ∷相关函数:CreateGraph函数 1.7.5 最小生成树 355 范例1-106 最小生成树 355 ∷相关函数:MiniSpanTree_PRIM函数 1.7.6 关节点和重连通分量 359 范例1-107 关节点和重连通分量 359 ∷相关函数:FindArticul函数 1.7.7 拓扑排序 366 范例1-108 拓扑排序 366 ∷相关函数:TopologicalSort函数 1.7.8 关键路径 374 范例1-109 关键路径 374 ∷相关函数:CriticalPath函数 1.7.9 最短路径 383 范例1-110 最短路径 383 ∷相关函数:ShortestPath_DIJ函数 1.7.10 每一对顶点之间的最短路径 387 范例1-111 每一对顶点之间的最短路径 387 ∷相关函数:ShortestPath_FLOYD函数 1.8 本章小结 395 第2章 数值计算 397 2.1 常见的数学函数 398 2.1.1 求整数的绝对值 398 范例2-1 求整数的绝对值 398 ∷相关函数:abs函数 2.1.2 求长整型整数的绝对值 399 范例2-2 求长整型整数的绝对值 399 ∷相关函数:labs函数 2.1.2 求浮点数的绝对值 400 范例2-2 求浮点数的绝对值 400 ∷相关函数:fabs函数 2.1.4 求反余弦 400 范例2-4 求反余弦 400 ∷相关函数:acos函数 2.1.5 求反正弦 401 范例2-5 求反正弦 401 ∷相关函数:asin函数 2.1.6 求反正切 402 范例2-6 求反正切 402 ∷相关函数:atan函数 2.1.7 对浮点数进行舍入 403 范例2-7 对浮点数进行舍入 403 ∷相关函数:ceil函数 2.1.8 求余弦 404 范例2-8 求余弦 404 ∷相关函数:cos函数 2.1.9 求双曲余弦 405 范例2-9 求双曲余弦 405 ∷相关函数:cosh函数 2.1.10 求正弦 406 范例2-10 求正弦 406 ∷相关函数:sin函数 2.1.11 求双曲正弦 406 范例2-11 求双曲正弦 406 ∷相关函数:sinh函数 2.1.12 求正切 407 范例2-12 求正切 407 ∷相关函数:tan函数 2.1.13 求双曲正切 408 范例2-13 求双曲正切 408 ∷相关函数:tanh函数 2.1.14 获得整数相除的商和余数 409 范例2-14 获得整数相除的商和余数 409 ∷相关函数:div函数 2.1.15 求ex 410 范例2-15 求ex 410 ∷相关函数:exp函数 2.1.16 获取浮点相除的余数 411 范例2-16 获取浮点数相除的余数 411 ∷相关函数:fmod函数 2.1.17 获取浮点数的尾数和指数 412 范例2-17 获取浮点数的尾数和指数 412 ∷相关函数:frexp函数 2.1.18 求x2exponent 413 范例2-18 一维多项式求值 413 ∷相关函数:ldexp函数 2.1.19 求自然对数 413 范例2-19 求自然对数 413 ∷相关函数:log 函数 2.1.20 求lgx 414 范例2-20 求lgx 414 ∷相关函数:log10函数 2.1.21 获取浮点数的整数部分和小数部分 415 范例2-21 第二类椭圆积分 415 ∷相关函数:modf函数 2.1.22 求xy 416 范例2-22 求xy 416 ∷相关函数:pow函数 2.1.23 求10x 417 范例2-23 求10x 417 ∷相关函数:pow10函数 2.1.24 获取随机数 418 范例2-24 获取随机数 418 ∷相关函数:rand函数 2.1.25 设置随机数生成器初值 418 范例2-25 设置随机数生成器初值 418 ∷相关函数:srand函数 2.1.26 获取最大值和最小值 419 范例2-26 获取最大值和最小值 419 ∷相关函数:max函数 min函数 2.1.27 求直角三角形的斜边长 421 范例2-27 求直角三角形的斜边长 421 ∷相关函数:hypot函数 2.1.28 获取多项式的值 421 范例2-28 获取多项式的值 421 ∷相关函数:poly函数 2.2 多项式的计算 422 2.2.1 一维多项式求值 422 范例2-29 一维多项式求值 422 ∷相关函数:polyval函数 2.2.2 二维多项式求值 424 范例2-30 二维多项式求值 424 ∷相关函数:tdpolyval函数 2.2.3 复系数一维多项式求值 425 范例2-31 复系数一维多项式求值 425 ∷相关函数:cppolyval函数 2.2.4 多项式相乘 427 范例2-32 多项式相乘 427 ∷相关函数:polymul函数 2.2.5 复系数多项式相乘 428 范例2-33 复系数多项式相乘 428 ∷相关函数:cppolymul函数 2.2.6 多项式除法 430 范例2-34 多项式除法 430 ∷相关函数:polydiv函数 2.2.7 复数多项式相除 432 范例2-35 复数多项式相除 432 ∷相关函数:cppolydiv函数 2.3 复数运算 435 2.3.1 复数乘法 435 范例2-36 复数乘法 435 ∷相关函数:cpmul函数 2.3.2 复数除法 436 范例2-37 复数除法 436 ∷相关函数:cpdiv函数 2.3.3 复数乘幂 437 范例2-38 复数乘幂 437 ∷相关函数:cppower函数 2.3.4 复数的n次方根 439 范例2-39 复数乘法 439 ∷相关函数:cproot函数 2.3.5 复数指数 441 范例2-40 复数指数 441 ∷相关函数:polyval函数 2.3.6 复数对数 442 范例2-41 复数对数 442 ∷相关函数:cplog函数 2.3.7 复数正弦 443 范例2-42 复数正弦 443 ∷相关函数:cpsin函数 2.3.8 复数余弦 444 范例2-43 复数余弦 444 ∷相关函数:cpcos函数 2.4 随机数的产生 445 2.4.1 产生0~1之间均匀分布的随机数 446 范例2-44 0~1之间均匀分布的随机数 446 ∷相关函数:edisrnd函数 2.4.2 产生0~1之间均匀分布的随机数序列数 447 范例2-45 0~1之间均匀分布的随机数序列 447 ∷相关函数:edisrndsq函数 2.4.3 产生任意区间内均匀分布的随机数 448 范例2-46 产生任意区间内均匀分布的随机数 448 ∷相关函数:itervalrnd函数 2.4.4 产生任意区间内均匀分布的随机数序列 450 范例2-47 产生任意区间内均匀分布的随机数序列 450 ∷相关函数:itervalrndsq函数 2.4.5 产生任意均值与方差的正态分布的随机数 451 范例2-48 任意均值与方差的正态分布的随机数 451 ∷相关函数:nordisrnd函数 2.4.6 产生任意均值与方差的正态分布的随机数序列 453 范例2-49 任意均值与方差的正态分布随机数序列 453 ∷相关函数:nordisrndsq函数 2.5 矩阵运算 454 2.5.1 实矩阵相乘 454 范例2-50 实矩阵相乘 454 ∷相关函数:matrixmul函数 2.5.2 复矩阵相乘 456 范例2-51 复矩阵相乘 456 ∷相关函数:cpmatrixmul函数 2.5.3 一般实矩阵求逆 458 范例2-52 一般实矩阵求逆 458 ∷相关函数:matrix_inverse函数 2.5.4 一般复矩阵求逆 462 范例2-53 一般复矩阵求逆 462 ∷相关函数:multi_matrix_inverse函数 2.5.5 对称正定矩阵的求逆 465 范例2-54 对称正定矩阵的求逆 465 ∷相关函数:symmetric_positive_definite_matrix函数 2.5.6 托伯利兹矩阵求逆的特兰持方法 467 范例2-55 托伯利兹矩阵求逆的特兰持方法 467 ∷相关函数:toeplitz_inv函数 2.5.7 求一般行列式的值 470 范例2-56 求一般行列式的值 470 ∷相关函数:determinant_value函数 2.5.8 求矩阵的秩 472 范例2-57 求矩阵的秩 472 ∷相关函数:determinant_rank函数 2.5.9 对称正定矩阵的乔里斯基分解与行列式求值 474 范例2-58 对称正定矩阵的乔里斯基分解 474 ∷相关函数:cholesky_method函数 2.5.10 矩阵的三角分解 476 范例2-59 矩阵的三角分解 476 ∷相关函数:triangular_decomposition函数 2.5.11 一般实矩阵的QR分解 478 范例2-60 一般实矩阵的QR分解 478 ∷相关函数:qr_decomposition函数 2.5.12 求广义逆的奇异值分解法 480 范例2-61 求广义逆的奇异值分解法 480 ∷相关函数:singular_value_decomposition函数 generalized_inverses函数 2.6 矩阵特征值与特征向量的计算 489 2.6.1 约化对称矩阵为对称三对角阵的豪斯荷尔德变换法 489 范例2-62 约化对称矩阵为对称三对角阵 489 ∷相关函数:Householder_method函数 2.6.2 求对称三对角阵的全部特征值与特征向量 492 范例2-63 求对称三对角阵的全部特征值 492 ∷相关函数:def_qr函数 2.6.3 约化一般实矩阵为赫申伯格矩阵的初等相似变换法 496 范例2-64 约化实矩阵为赫申伯格矩阵 496 ∷相关函数:trans_hessenbreg函数 2.6.4 求赫申伯格矩阵全部特征值的QR方法 498 范例2-65 求赫申伯格矩阵全部特征值 498 ∷相关函数:hessenbreg_qr函数 2.6.5 求实对称矩阵特征值与特征向量的雅可比法 502 范例2-66 雅可比法求特征值与特征向量 502 ∷相关函数:jacobi_method函数 2.6.6 求实对称矩阵特征值与特征向量的雅可比过关法 505 范例2-67 雅可比过关法 505 ∷相关函数:jacobi_clearance函数 2.7 线性代数方程组的求解 507 2.7.1 求解实系数方程组的全选主元高斯消去法 508 范例2-68 全选主元高斯消去法 508 ∷相关函数:gauss_elimination函数 2.7.2 求解实系数方程组的全选主元高斯—约当消去法 510 范例2-69 全选主元高斯—约当消去法 510 ∷相关函数:gauss_jordan_elimination函数 2.7.3 求解复系数方程组的全选主元高斯消去法 513 范例2-70 求解复系数方程组(方法一) 513 ∷相关函数:plu_gauss函数 2.7.4 求解复系数方程组的全选主元高斯—约当消去法 516 范例2-71 求解复系数方程组(方法二) 516 ∷相关函数:plu_gauss_jordan函数 2.7.5 求解三对角线方程组的追赶法 519 范例2-72 求解三对角线方程组的追赶法 519 ∷相关函数:tridiagonal_chase函数 2.7.6 求解一般带型方程组 521 范例2-73 求解一般带型方程组 521 ∷相关函数:principal_gauss函数 2.7.7 求解对称方程组的分解法 523 范例2-74 求解对称方程组的分解法 523 ∷相关函数:equations_decomposition函数 2.7.8 求解对称正定方程组的平方根法 526 范例2-75 求解对称正定方程组的平方根法 526 ∷相关函数:equations_square_root函数 2.7.9 求解大型稀疏方程组 528 范例2-76 求解大型稀疏方程组 528 ∷相关函数:sparse_gauss_jordan函数 2.7.10 求解托伯利兹方程组的列文逊方法 531 范例2-77 求解托伯利兹方程组 531 ∷相关函数:toeplitz_levinson函数 2.7.11 高斯—赛德尔迭代法 533 范例2-78 高斯—赛德尔迭代法 533 ∷相关函数:gauss_seidel_iteration函数 2.7.12 求解对称正定方程组的共轭梯度法 535 范例2-79 求解对称正定方程组的共轭梯度法 535 ∷相关函数:conjugate_gradient_method函数 2.7.13 求解线性最小二乘问题的豪斯荷尔德变换法 537 范例2-80 求解线性最小二乘问题 537 ∷相关函数:least_square_householder函数 2.7.14 求解线性最小二乘问题的广义逆法 540 范例2-81 求解线性最小二乘问题的广义逆法 540 ∷相关函数:least_squares_reversion函数 2.7.15 求解病态方程组 549 范例2-82 求解病态方程组 549 ∷相关函数:morbid_equations函数 2.8 非线性方程与方程组的求解 553 2.8.1 求非线性方程一个实根的对分法 553 范例2-83 对分法 553 ∷相关函数:nonlinear_dichotomy函数 2.8.2 求非线性方程一个实根的牛顿法 555 范例2-84 牛顿法 555 ∷相关函数:newton_iterative函数 2.8.3 求非线性方程一个实根的埃特金迭代法 557 范例2-85 埃特金迭代法 557 ∷相关函数:aitken_iterative函数 2.8.4 求非线性方程一个实根的连分式法 558 范例2-86 连分式法 558 ∷相关函数:continued_fraction函数 2.8.5 求实系数代数方程全部根的QR方法 560 范例2-87 QR方法 560 ∷相关函数:qr_all函数 2.8.6 求实系数代数方程全部根的牛顿下山法 563 范例2-88 求实系数代数方程全部根的牛顿下山法 563 ∷相关函数:newton_descent_all函数 2.8.7 求复系数代数方程全部根的牛顿下山法 568 范例2-89 求复系数代数方程全部根的牛顿下山法 568 ∷相关函数:newton_descent_complex函数 2.8.8 求非线性方程组一组实根的梯度法 572 范例2-90 求非线性方程组一组实根的梯度法 572 ∷相关函数:gradient_nonlinear函数 2.8.9 求非线性方程组一组实根的拟牛顿法 574 范例2-91 求非线性方程组一组实根的拟牛顿法 574 ∷相关函数:quasi_newton_nonlinear函数 2.8.10 求非线性方程一个实根的蒙特卡洛法 577 范例2-92 求非线性方程的蒙特卡洛法 577 ∷相关函数:monte_carlo_nonlinear函数 2.8.11 求实函数或复函数方程一个复根的蒙特卡洛法 579 范例2-93 第二类椭圆积分 579 ∷相关函数:monte_carlo_realplex函数 2.8.12 求非线性方程组一组实根的蒙特卡洛法 581 范例2-94 第二类椭圆积分 581 ∷相关函数:monte_carlo_equation函数 2.9 插值与逼近 583 2.9.1 一元全区间插值 583 范例2-95 一元全区间插值 583 ∷相关函数:interpolation_total函数 2.9.2 一元三点插值 585 范例2-96 一元三点插值 585 ∷相关函数:interpolation_three函数 2.9.3 连分式插值 586 范例2-97 连分式插值 586 ∷相关函数:interpolation_continued函数 2.9.4 埃尔米特插值 588 范例2-98 埃尔米特插值 588 ∷相关函数:interpolation_hermite函数 2.9.5 埃特金逐步插值 590 范例2-99 第二类椭圆积分 590 ∷相关函数:interpolation_aitken函数 2.9.6 光滑插值 592 范例2-100 光滑插值 592 ∷相关函数:interpolation_akima函数 2.9.7 第一种边界条件的三次样条函数插值、微商与积分 595 范例2-101 第一种边界条件的三次样条函数 595 ∷相关函数:cubic_spline_first函数 2.9.8 第二种边界条件的三次样条函数插值、微商与积分 598 范例2-102 第二种边界条件的三次样条函数 598 ∷相关函数:cubic_spline_second函数 2.9.9 第三种边界条件的三次样条函数插值、微商与积分 600 范例2-103 第三种边界条件的三次样条函数 600 ∷相关函数:cubic_spline_third函数 2.9.10 二元三点插值 604 范例2-104 二元三点插值 604 ∷相关函数:interpolation_point函数 2.9.11 二元全区间插值 606 范例2-105 二元全区间插值 606 ∷相关函数:interpolation_total函数 2.9.12 最小二乘曲线拟合 608 范例2-106 最小二乘曲线拟合 608 ∷相关函数:least_squares_fitting函数 2.9.13 切比雪夫曲线拟合 611 范例2-107 切比雪夫曲线拟合 611 ∷相关函数:chebyshev_fitting函数 2.9.14 最佳一致逼近的里米兹方法 614 范例2-108 最佳一致逼近的里米兹方法 614 ∷相关函数:remez_method函数 2.9.15 矩形域的最小二乘曲面拟合 616 范例2-109 矩形域的最小二乘曲面拟合 616 ∷相关函数:rec_fitting函数 2.10 数值积分 621 2.10.1 变步长梯形求积法 621 范例2-110 变步长梯形求积法 621 ∷相关函数:integration_ladder函数 2.10.2 变步长辛卜生求积法 623 范例2-111 变步长辛卜生求积法 623 ∷相关函数:integration_simpson函数 2.10.3 自适应梯形求积法 624 范例2-112 自适应梯形求积法 624 ∷相关函数:integration_self_adaptive函数 2.10.4 龙贝格求积法 626 范例2-113 龙贝格求积法 626 ∷相关函数:integration_romberg函数 2.10.5 计算一维积分的连分式法 627 范例2-114 计算一维积分的连分式法 627 ∷相关函数:continued_fractions函数 2.10.6 高振荡函数求积法 629 范例2-115 高振荡函数求积法 629 ∷相关函数:higher_oscillatory_integration函数 2.10.7 勒让德—高斯求积法 631 范例2-116 勒让德—高斯求积法 631 ∷相关函数:legendre_gauss函数 2.10.8 拉盖尔—高斯求积法 633 范例2-117 拉盖尔—高斯求积法 633 ∷相关函数:laguerre_gauss函数 2.10.9 埃尔米特—高斯求积法 634 范例2-118 埃尔米特—高斯求积法 634 ∷相关函数:hermite_gauss函数 2.10.10 切比雪夫求积法 635 范例2-119 切比雪夫求积法 635 ∷相关函数:chebyshev函数 2.10.11 计算一维积分的蒙特卡洛法 637 范例2-120 计算一维积分的蒙特卡洛法 637 ∷相关函数:monte_carlo函数 2.10.12 变步长辛卜生二重积分法 638 范例2-121 变步长辛卜生二重积分法 638 ∷相关函数:simpson函数 2.10.13 计算多重积分的高斯方法 640 范例2-122 计算多重积分的高斯方法 640 ∷相关函数:gauss函数 2.10.14 计算二重积分的连分式法 643 范例2-123 计算二重积分的连分式法 643 ∷相关函数:continued_fractions_dual函数 2.10.15 计算多重积分的蒙特卡洛法 645 范例2-124 计算多重积分的蒙特卡洛法 645 ∷相关函数:monte_carlo_multi函数 2.11 常微分方程组的求解 647 2.11.1 全区间积分的定步长欧拉方法 647 范例2-125 全区间积分的定步长欧拉方法 647 ∷相关函数:euler_step函数.. 2.11.2 积分一步的变步长欧拉方法 649 范例2-126 积分一步的变步长欧拉方法 649 ∷相关函数:euler_variable函数 2.11.3 全区间积分的维梯方法 651 范例2-127 全区间积分的维梯方法 651 ∷相关函数:witty函数 2.11.4 全区间积分的定步长龙格—库塔方法 653 范例2-128 全区间积分的定步长龙格—库塔方法实例位置 653 ∷相关函数:runge_kutta函数 2.11.5 积分一步的变步长龙格—库塔方法 655 范例2-129 积分一步的变步长龙格—库塔方法实例位置 655 ∷相关函数:runge_kutta_steps函数 2.11.6 积分一步的变步长基尔方法 657 范例2-130 积分一步的变步长基尔方法 657 ∷相关函数:gill函数 2.11.7 全区间积分的变步长默森方法 659 范例2-131 全区间积分的变步长默森方法 659 ∷相关函数:merson函数 2.11.8 积分一步的连分式法 662 范例2-132 积分一步的连分式法 662 ∷相关函数:continued_step函数 2.11.9 全区间积分的双边法 665 范例2-133 全区间积分的双边法 665 ∷相关函数:bilateral函数 2.11.10 全区间积分的阿当姆斯预报校正法 668 范例2-134 阿当姆斯预报校正法 668 ∷相关函数:adams函数 2.11.11 全区间积分的哈明方法 671 范例2-135 全区间积分的哈明方法 671 ∷相关函数:hamming函数 2.11.12 积分一步的特雷纳方法 675 范例2-136 积分一步的特雷纳方法 675 ∷相关函数:treanor函数 2.11.13 二阶微分方程边值问题的数值解法 678 范例2-137 二阶微分方程边值问题的数值解法 678 ∷相关函数:finite_difference函数 2.12 数据处理与回归分析 680 2.12.1 随机样本分析 680 范例2-138 随机样本分析 680 ∷相关函数:rndsplanalysis函数 2.12.2 一元线性回归分析 683 范例2-139 一元线性回归分析 683 ∷相关函数:liregression函数 2.12.3 多元线性回归分析 685 范例2-140 多元线性回归分析 685 ∷相关函数:mulliregression函数 2.12.4 半对数数据相关 688 范例2-141 半对数数据相关 688 ∷相关函数:fittinglogt函数 2.12.5 对数数据相关 690 范例2-142 对数数据相关 690 ∷相关函数:fittingln函数 2.13 极值问题的求解 691 2.13.1 一维极值连分式法 691 范例2-143 一维极值连分式法 691 ∷相关函数:extremum函数 2.13.2 n维极值连分式法 693 范例2-144 n维极值连分式法 693 ∷相关函数:nextremum函数 2.13.3 不等式约束线性规划问题 696 范例2-145 不等式约束线性规划问题 696 ∷相关函数:linearprogram函数 2.14 数学变换与滤波 700 2.14.1 傅里叶级数逼近 700 范例2-146 傅里叶级数逼近 700 ∷相关函数:seriesfour函数 2.14.2 快速傅里叶变换 702 范例2-147 快速傅里叶变换 702 ∷相关函数:quickfft函数 2.14.3 快速沃什变换 705 范例2-148 快速沃什变换 705 ∷相关函数:quickfwt函数 2.14.4 五点三次平滑 706 范例2-149 五点三次平滑 706 ∷相关函数:smoothness函数 2.14.5 卡尔曼滤波 708 范例2-150 卡尔曼滤波 708 ∷相关函数:kalfilter函数 2.14.6 α-β-γ滤波 713 范例2-151 α-β-γ滤波 713 ∷相关函数:alphabgfilter函数 2.15 特殊函数 714 2.15.1 Gamma函数 715 范例2-152 Gamma函数 715 ∷相关函数:Gamma函数 2.15.2 不完全Gamma函数 716 范例2-153 不完全Gamma函数 716 ∷相关函数:incomgam函数 2.15.3 误差函数 719 范例2-154 误差函数 719 ∷相关函数:errorfun函数 2.15.4 第一类整数Bessel函数 721 范例2-155 第一类整数Bessel函数 721 ∷相关函数:bessel1函数 2.15.5 第二类整数Bessel函数 724 范例2-156 第二类整数Bessel函数 724 ∷相关函数:bessel2函数 2.15.6 变形第一类整数Bessel函数 727 范例2-157 变形第二类整数Bessel函数 727 ∷相关函数:varbessel1函数 2.15.7 变形第二类整数Bessel函数 729 范例2-158 变形第二类整数Bessel函数 729 ∷相关函数:varbessel2函数 2.15.8 不完全Beta函数 734 范例2-159 不完全Beta函数 734 ∷相关函数:beta函数 2.15.9 正态分布函数 736 范例2-160 正态分布函数 736 ∷相关函数:gauss函数 2.15.10 t-分布函数 739 范例2-161 t-分布函数 739 ∷相关函数:tdistribution函数 2.15.11 2-分布函数 742 范例2-162 2-分布函数 742 ∷相关函数:xdistribution函数 2.15.12 F-分布函数 744 范例2-163 F-分布函数 744 ∷相关函数:fdistribution函数 2.15.13 正弦积分 747 范例2-164 正弦积分 747 ∷相关函数:sinintegral函数 2.15.14 余弦积分 749 范例2-165 余弦积分 749 ∷相关函数:cosintegral函数 2.15.15 指数积分 750 范例2-166 指数积分 750 ∷相关函数:expintegral函数 2.15.16 第一类椭圆积分 752 范例2-167 第一类椭圆积分 752 ∷相关函数:ellipseintegral1函数 2.15.17 第二类椭圆积分 754 范例2-168 第二类椭圆积分 754 ∷相关函数:ellipseintegral2函数 2.16 本章小结 756 第3章 图形图像处理 757 3.1 字符屏幕 758 3.1.1 文本的输入与输出 758 范例3-1 文本的输入与输出 758 ∷相关函数:printf函数 scanf函数 3.1.2 outtext、outtextxy函数输出 759 范例3-2 outtext, outtextxy函数输出 759 ∷相关函数:outtext函数 outtextxy函数 3.1.3 设置文本格式 761 范例3-3 设置文本格式 761 ∷相关函数:settextstyle函数 3.1.4 设置图形文本排列方式 763 范例3-4 设置图形文本排列方式 763 ∷相关函数:settextjustify函数 3.1.5 设置用户字符比例 765 范例3-5 设置用户字符比例 765 ∷相关函数:setusercharsize函数 3.1.6 控制文本的明暗度 766 范例3-6 控制文本的明暗度 766 ∷相关函数:highvideo函数 normvideo函数 lowvideo函数 3.1.7 设置文本的前景色和背景色 767 范例3-7 设置文本的前景色和背景色 767 ∷相关函数:textcolor函数 textbackground函数 3.1.8 字符窗口 770 范例3-8 字符窗口 770 ∷相关函数:clrscr函数 window函数 gotoxy函数 3.1.9 清除光标行尾字符 772 范例3-9 清除光标行尾字符 772 ∷相关函数:clreol函数 3.1.10 插入与删除行 773 范例3-10 插入与删除行 773 ∷相关函数:insline函数 delline函数 3.1.11 屏幕参数检测 774 范例3-11 屏幕参数检测 774 ∷相关函数:getgraphmode函数 getmaxx函数 getmaxy函数 getmaxcolor函数 cleardevice函数 3.2 图形图像处理基础 777 3.2.1 绘制像素点 777 范例3-12 绘制像素点 777 ∷相关函数:putpixel函数 3.2.2 绘制直线 778 范例3-13 绘制直线 778 ∷相关函数:line函数 lineto函数 linerel函数 moveto函数 moverel函数 3.2.3 绘制矩形 780 范例3-14 绘制矩形 780 ∷相关函数:rectangle函数 3.2.4 绘制多边形 781 范例3-15 绘制多边形 781 ∷相关函数:drawpoly函数 3.2.5 绘制圆 783 范例3-16 绘制圆 783 ∷相关函数:circle函数 3.2.6 绘制椭圆 784 范例3-17 绘制椭圆 784 ∷相关函数:ellipse函数 fillellipse函数 3.2.7 绘制圆弧 786 范例3-18 绘制圆弧 786 ∷相关函数:arc函数 3.2.8 绘制扇区 787 范例3-19 绘制扇区 787 ∷相关函数:pieslice函数 sector函数 3.2.9 绘制条块 788 范例3-20 绘制条块 788 ∷相关函数:bar函数 bar3d函数 3.2.10 图设置线型 790 范例3-21 设置线型 790 ∷相关函数:Setlinestyle函数 3.2.11 绘制填充矩形 792 范例3-22 绘制填充矩形 792 ∷相关函数:setfillstyle函数 floodfill函数 3.2.12 填充多边形 795 范例3-23 填充多边形 795 ∷相关函数:fillpoly函数 3.2.14 设置用户图样 796 范例3-24 设置用户图样 796 ∷相关函数:setfillpattern函数 3.3 图形图像处理进阶 798 3.3.1 绘制彩色点云 798 范例3-25 绘制彩色点云 798 ∷相关函数:rand函数 kbhit函数 3.3.2 绘制正多边形 799 范例3-26 绘制正多边形 799 ∷相关函数:sin函数 cos函数 3.3.3 图形法绘制圆 801 范例3-27 图形法绘制圆 801 ∷相关函数:drawCircle函数 3.3.4 图形法绘制椭圆 803 范例3-28 图形法绘制椭圆 803 ∷相关函数:ellipse1函数 3.3.5 绘制正弦曲线 805 范例3-29 绘制正弦曲线 805 ∷相关函数:lineto函数 3.3.6 绘制抛物样条曲线 806 范例3-30 绘制抛物样条曲线 806 ∷相关函数:parspl函数 marking函数 3.3.7 绘制布朗曲线 809 范例3-31 绘制布朗曲线 809 ∷相关函数:CreateFractalImage函数 Gauss函数 3.3.8 动态绘制256色线条 811 范例3-32 动态绘制256色线条 811 ∷相关函数:int86函数 3.3.9 三原色亮度渐变 813 范例3-33 三原色亮度渐变 813 ∷相关函数:geninterrupt函数 3.3.10 三视图模拟 815 范例3-34 三视图模拟 815 ∷相关函数:front_view函数 top_view函数 left_view函数 perspective_view函数 3.3.11 空间椭球模拟 817 范例3-35 空间椭球模拟 817 ∷相关函数:trans函数 draw函数 3.3.12 百叶窗效果 820 范例3-36 百叶窗效果 820 ∷相关函数:putpoint函数 3.3.13 视觉欺骗 822 范例3-37 视觉欺骗 822 ∷相关函数:dot函数 circ函数 bulb函数 3.3.14 三维建筑物 824 范例3-38 三维建筑物 824 ∷相关函数:liner函数 rightlead函数 leftlead函数 shadow函数 identifier函数 3.4 组合图案绘制 830 3.4.1 一箭穿心图案 830 范例3-39 重新打开文件流 830 ∷相关函数:draw函数 arrow函数 3.4.2 六叶图案 832 范例3-40 六叶图案 832 ∷相关函数:arc函数 3.4.3 花瓣形图案 833 范例3-41 花瓣形图案 833 ∷相关函数:line函数 3.4.4 雪花图案 835 范例3-42 雪花图案 835 ∷相关函数:setviewport函数 3.4.5 布艺图案 837 范例3-43 布艺图案 837 ∷相关函数:fractal函数 3.4.6 飘带图案 838 范例3-44 飘带图案 838 ∷相关函数:line函数 3.4.7 金刚石图案 840 范例3-45 金刚石图案 840 ∷相关函数:line函数 3.4.8 圆环图案 841 范例3-46 圆环图案 841 ∷相关函数:circles函数 3.4.9 肾型图案 843 范例3-47 肾型图案 843 ∷相关函数:circle函数 3.4.10 心脏型图案 844 范例3-48 心脏型图案 844 ∷相关函数:circle函数 3.4.11 鱼网图案 846 范例3-49 重新打开文件流 846 ∷相关函数:arc函数 3.4.12 沙丘图案 848 范例3-50 沙丘图案 848 ∷相关函数:lineto函数 3.4.13 正六边形螺旋图案 849 范例3-51 正六边形螺旋图案 849 ∷相关函数:polygonc函数 3.4.14 正方形螺旋拼块图案 851 范例3-52 正方形螺旋拼块图案 851 ∷相关函数:polygonc函数 block函数 3.4.15 递归法绘制三角形图案 853 范例3-53 递归法绘制三角形图案 853 ∷相关函数:elli函数 3.4.16 玫瑰图案 855 范例3-54 玫瑰图案 855 ∷相关函数:elli函数 draw函数 3.4.17 天空图案 859 范例3-55 天空图案 859 ∷相关函数:int86函数 3.4.18 Mandelbrot分形图案 864 范例3-56 Mandelbrot分形图案 864 ∷相关函数:mandelbrot函数 iterate函数 3.5 窗体界面与报表设计 866 3.5.1 窗体设计 866 范例3-57 窗体设计 866 ∷相关函数:mainform函数 windowborder函数 controls函数 3.5.2 简单菜单设计 871 范例3-58 简单菜单设计 871 ∷相关函数:initm函数 showItems函数 process 函数 process3函数 process1函数 3.5.3 制作表格 877 范例3-59 制作表格 877 ∷相关函数:putpixel函数 3.5.4 折线图 878 范例3-60 折线图 878 ∷相关函数:itoa函数 settextjustify函数 3.5.5 饼状图 880 范例3-61 饼状图 880 ∷相关函数:pieslice函数 3.5.6 柱状图 881 范例3-62 柱状图 881 ∷相关函数:Funscore函数 Drowxy 函数 Fundrow函数 3.6 动画制作 884 3.6.1 旋转的立体椭球 884 范例3-63 旋转的立体椭球 884 ∷相关函数:setactivepage函数 setvisualpage函数 3.6.2 小球碰撞演示 887 范例3-64 小球碰撞演示 887 ∷相关函数:imagsize函数 getimage函数 putimage函数 3.6.3 飘动的旗帜 889 范例3-65 飘动的旗帜 889 ∷相关函数:hor_wave_line函数 ver_wave_line函数 3.6.4 行驶中的小车 891 范例3-66 行驶中的小车 891 ∷相关函数:imagsize函数 getimage函数 putimage函数 3.6.5 不停动嘴巴的头 893 范例3-67 不停动嘴巴的头 893 ∷相关函数:getaspectratio函数 setaspectratio函数 setactivepage函数 setvisualpage函数 3.6.6 旋转的太极图 898 范例3-68 旋转的太极图 898 ∷相关函数:getpalette函数 sector函数 3.6.7 螺旋运动的圆斑 901 范例3-69 螺旋运动的圆斑 901 ∷相关函数:drawgoal函数 3.6.8 闪动的彩色圆斑 903 范例3-70 闪动的彩色圆斑 903 ∷相关函数:drawgoal函数 3.6.9 奔跑的小人 904 范例3-71 奔跑的小人 904 ∷相关函数:line函数 circle函数 3.6.10 发射火箭 907 范例3-72 发射火箭 907 ∷相关函数:DrawStar函数 DrawGun函数 DrawPlan函数 3.6.11 擦玻璃 911 范例3-73 擦玻璃 911 ∷相关函数:pieslice函数 bioskey函数 3.6.12 流星球 914 范例3-74 流星球 914 ∷相关函数:getimage函数 putimage函数 3.6.13 简单时钟 916 范例3-75 简单时钟 916 ∷相关函数:gettime函数 3.6.14 立体时钟 918 范例3-76 立体时钟 918 ∷相关函数:time函数 3.6.15 飘雪 920 范例3-77 飘雪 920 ∷相关函数:DrawSnow函数 Pr函数 3.6.16 制作火焰 923 范例3-78 制作火焰 923 ∷相关函数:outportb函数 pokeb函数 3.6.17 天体系统 926 范例3-79 天体系统 926 ∷相关函数:init_start函数 roll函数 3.6.18 扇动翅膀的蝴蝶 935 范例3-80 扇动翅膀的蝴蝶 935 ∷相关函数:putpixel函数 3.6.19 米奇 936 范例3-81 重新打开文件流 936 ∷相关函数:imagsize函数 getimage函数 putimage函数 3.7 本章小结 940 第4章 磁盘、目录和文件的操作 941 4.1 磁盘的操作 942 4.1.1 获取当前盘驱动器 942 范例4-1 获取当前盘驱动器 942 ∷相关函数:getdisk函数 4.1.2 设置当前驱动器 943 范例4-2 设置当前驱动器 943 ∷相关函数:setdisk函数 4.1.3 获取磁盘的可用空间 945 范例4-3 获取磁盘的可用空间 945 ∷相关函数:getdfree函数 4.1.4 测试软驱是否可用 946 范例4-4 测试软驱是否可用 946 ∷相关函数:biosdisk函数 4.2 目录的操作 948 4.2.1 创建目录 948 范例4-5 创建目录 948 ∷相关函数:mkdir函数 4.2.2 改变当前目录 950 范例4-6 改变当前目录 950 ∷相关函数:chdir函数 4.2.3 删除目录 952 范例4-7 删除目录 952 ∷相关函数:rmdir函数 4.3 文件的操作 953 4.3.1 用fopen函数打开文件 953 范例4-8 用fopen函数打开文件 953 ∷相关函数:fopen函数 4.3.2 打开系统temp目录中的文件 955 范例4-9 打开系统temp目录中的文件 955 ∷相关函数:getenv函数 4.3.2 使用低级函数打开和关闭文件 957 范例4-10 使用低级函数打开和关闭文件 957 ∷相关函数:open函数 close函数 4.3.3 用fclose函数关闭文件 959 范例4-11 用fclose函数关闭文件 959 ∷相关函数:fclose函数 4.3.4 一次性关闭所有被打开的文件 961 范例4-12 一次性关闭所有被打开的文件 961 ∷相关函数:fcloseall函数 4.3.5 以字符为单位读写文件 963 范例4-13 以字符为单位读写文件 963 ∷相关函数:fgetc函数 fputc函数 4.3.6 以字为单位读写文件 965 范例4-14 以字为单位读写文件 965 ∷相关函数:getw函数 putw函数 4.3.7 以低级的方式读写文件 967 范例4-15 以低级的方式读写文件 967 ∷相关函数:read函数 write函数 4.3.8 按结构读写文件 969 范例4-16 按结构读写文件 969 ∷相关函数:read函数 write函数 4.3.9 格式化写文件 971 范例4-17 格式化写文件 971 ∷相关函数:fprintf函数 4.3.10 格式化读文件 972 范例4-18 格式化读文件 972 ∷相关函数:fscanf函数 4.3.11 以行为单位写文件 974 范例4-19 以行为单位写文件 974 ∷相关函数:fputs函数 4.3.12 以行为单位读文件 975 范例4-20 以行为单位读文件 975 ∷相关函数:fgets函数 4.3.13 将缓冲区内容写入文件 977 范例4-21 将缓冲区内容写入文件 977 ∷相关函数:setbuf函数 4.3.14 用lseek函数定位文件指针 978 范例4-22 用lseek函数定位文件指针 978 ∷相关函数:lseek函数 4.3.15 获取文件流的文件句柄 980 范例4-23 获取文件流的文件句柄 980 ∷相关函数:fileno函数 4.3.16 从文件流指针中导出文件句柄 982 范例4-24 从文件流指针中导出文件句柄 982 ∷相关函数:fopen函数 4.3.17 利用eof函数判断文件是否结束 984 范例4-25 利用eof函数判断文件是否结束 984 ∷相关函数:eof函数 4.3.18 利用feof函数判断文件结尾 986 范例4-26 利用feof函数判断文件结尾 986 ∷相关函数:feof函数 4.3.19 刷新I/O流 988 范例4-27 刷新I/O流 988 ∷相关函数:fflush函数 4.3.20 利用tmpnam函数创建临时文件名 990 范例4-28 利用tmpnam函数创建临时文件名 990 ∷相关函数:tmpnam函数 4.3.21 创建真正的临时文件 992 范例4-29 创建真正的临时文件 992 ∷相关函数:tmpfile函数 4.3.22 创建文件 993 范例4-30 创建文件 993 ∷相关函数:creat函数 4.3.23 在指定目录中创建唯一文件 995 范例4-31 在指定目录中创建唯一文件 995 ∷相关函数:creattemp函数 4.3.24 利用creatnew函数创建新文件 996 范例4-32 利用creatnew函数创建新文件 996 ∷相关函数:creatnew函数 4.3.25 删除文件 998 范例4-33 删除文件 998 ∷相关函数:remove函数 4.3.26 查找文件获取文件的路径 1000 范例4-34 查找文件获取文件的路径 1000 ∷相关函数:searchpath函数 4.3.27 分解文件路径 1001 范例4-35 分解文件路径 1001 ∷相关函数:fnsplit函数 4.3.28 建立文件完全路径名 1003 范例4-36 建立文件完全路径名 1003 ∷相关函数:fnmerge 函数 4.3.29 读取文件分配表信息 1005 范例4-37 读取文件分配表信息 1005 ∷相关函数:getfat函数 getfatd函数 4.3.30 判断读写所在的文件的位置 1007 范例4-38 判断读写所在的文件的位置 1007 ∷相关函数:ftell函数 4.3.31 重命名文件 1009 范例4-39 重命名文件 1009 ∷相关函数:rename函数 4.3.32 判断访问文件的模式 1011 范例4-40 判断访问文件的模式 1011 ∷相关函数:access函数 4.3.34 设置文件访问模式 1013 范例4-41 设置文件访问模式 1013 ∷相关函数:chmod函数 4.3.35 显示文件的属性 1015 范例4-42 显示文件的属性 1015 ∷相关函数:_chmod函数 4.3.36 检测文件流的错误 1017 范例4-43 检测文件流的错误 1017 ∷相关函数:ferror函数 4.3.37 判断文件的长度 1019 范例4-44 判断文件的长度 1019 ∷相关函数:filelength函数 4.3.38 通过句柄设置打开文件的方式 1022 范例4-45 通过句柄设置打开文件的方式 1022 ∷相关函数:setmode函数 4.3.39 读取文件的时间和日期标记 1023 范例4-46 读取文件的时间和日期标记 1023 ∷相关函数:getftime函数 4.3.40 设置文件的时间和日期标记 1026 范例4-47 设置文件的时间和日期标记 1026 ∷相关函数:setftimet函数 4.3.41 改变文件的长度 1028 范例4-48 改变文件的长度 1028 ∷相关函数:chsize函数 4.3.42 控制文件打开操作的读写模式 1029 范例4-49 控制文件打开操作的读写模式 1029 ∷相关函数:umask函数 4.3.43 复制文件句柄 1032 范例4-50 复制文件句柄 1032 ∷相关函数:dup函数 4.3.44 强制复制文件句柄 1033 范例4-51 强制复制文件句柄 1033 ∷相关函数:dup2函数 4.3.45 用句柄判断读写所在的文件的位置 1036 范例4-52 用句柄判断当前文件指针的位置 1036 ∷相关函数:tell函数 4.3.46 根据当前位置定位文件指针 1038 范例4-53 根据当前位置定位文件指针 1038 ∷相关函数:fseek函数 4.3.47 获取文件句柄的信息 1039 范例4-54 获取文件句柄的信息 1039 ∷相关函数:fstat函数 4.3.48 重新打开文件流 1041 范例4-55 重新打开文件流 1041 ∷相关函数:freopen函数 4.4 本章小结 1043 第5章 系统调用 1045 5.1 时间和日期的操作 1046 5.1.1 获取当前的时间和日期 1046 范例5-1 获取当前时间和日期 1046 ∷相关函数:time函数 5.1.2 让程序延时指定的时间段 1047 范例5-2 让程序延时指定的时间段 1047 ∷相关函数:delay函数 5.1.3 比较两个时间 1048 范例5-3 比较两个时间 1048 ∷相关函数:difftime函数 5.1.4 读BIOS计时器 1050 范例5-4 读BIOS计时器 1050 ∷相关函数:biostime函数 5.1.5 比较两个时间获取当地时间 1051 范例5-5 获取当地时间 1051 ∷相关函数:localtime函数 5.1.6 获取格林威治平时 1052 范例5-6 获取格林威治平时 1052 ∷相关函数:gmtime函数 5.1.7 获取DOS系统时间 1054 范例5-7 获取DOS系统时间 1054 ∷相关函数:gettime函数 5.1.8 获取DOS系统日期 1055 范例5-8 获取DOS系统日期 1055 ∷相关函数:getdate函数 5.1.9 设置DOS系统时间 1057 范例5-9 设置DOS系统时间 1057 ∷相关函数:settime函数 5.1.10 设置DOS系统日期 1059 范例5-10 设置DOS系统日期 1059 ∷相关函数:setdate函数 5.1.11 获取时区信息 1061 范例5-11 获取时区信息 1061 ∷相关函数:ftime函数 5.2 BIOS的操作 1062 5.2.1 利用BIOS获取打印机的状态 1062 范例5-12 利用BIOS获取打印机的状态 1062 ∷相关函数:biosprint函数 5.2.2 获取Ctrl+Break信息 1064 范例5-13 获取CTRL+BREAK信息 1064 ∷相关函数:getcbrk函数 5.2.3 暂时挂起程序 1066 范例5-14 暂时挂起程序 1066 ∷相关函数:sleep函数 5.2.4 控制声音 1067 范例5-15 控制声音 1067 5.2.5 利用bdos函数访问DOS服务 1068 范例5-16 利用bdos函数访问DOS服务 1068 ∷相关函数:bdos函数 5.2.6 获取BIOS常规内存数量 1071 范例5-17 获取BIOS常规内存数量 1071 ∷相关函数:biosmemory函数 5.2.7 获取寄存器设置信息 1072 范例5-18 获取寄存器设置信息 1072 ∷相关函数:segread函数 5.3 内存的操作 1074 5.3.1 给内存区域赋值 1074 范例5-19 给内存区域赋值 1074 ∷相关函数:memset函数 5.3.2 获取时区信息复制内存区域 1076 范例5-20 复制内存区域 1076 5.3.3 复制内存区域指定的字节 1078 范例5-21 复制内存区域指定的字节 1078 ∷相关函数:memccpy函数 5.3.4 获取时区信息 1080 范例5-22 比较两个无符号字符数组 1080 5.3.5 交换字符串的两个相邻字节内容 1082 范例5-23 交换字符串的两个相邻字节内容 1082 ∷相关函数:swab函数 5.3.6 利用brk函数改变堆的大小 1084 范例5-24 利用brk函数改变堆的大小 1084 ∷相关函数:brk函数 5.3.7 获取指定内存单元内容 1086 范例5-25 获取指定内存单元内容 1086 5.3.8 设置指定内存单元内容 1088 范例5-26 设置指定内存单元内容 1088 5.4 本章小结 1090 索引... 1091

2012-08-31

C语言通用范例开发金典.part1.rar

第1章 数据结构. 1 1.1 数组和字符串 2 1.1.1 一维数组的倒置 2 范例1-1 一维数组的倒置 2 ∷相关函数:fun函数 1.1.2 一维数组应用 3 范例1-2 一维数组应用 3 1.1.3 一维数组的高级应用 5 范例1-3 一维数组的高级应用 5 1.1.4 显示杨辉三角 7 范例1-4 显示杨辉三角 7 ∷相关函数:c函数 8 1.1.5 魔方阵 9 范例1-5 魔方阵 9 1.1.6 三维数组的表示 14 范例1-6 三维数组的表示 14 ∷相关函数:InitArray函数 1.1.7 多项式的数组表示 17 范例1-7 多项式数组的表示 17 1.1.8 查找矩阵的马鞍点 19 范例1-8 查找矩阵的马鞍点 19 ∷相关函数:Get_Saddle函数 1.1.9 对角矩阵建立 21 范例1-9 对角矩阵建立 21 ∷相关函数:Store函数 1.1.10 三对角矩阵的建立 22 范例1-10 三对角矩阵的建立 22 ∷相关函数:Store函数 1.1.11 三角矩阵建立 24 范例1-11 三角矩阵建立 24 ∷相关函数:Store函数 1.1.12 对称矩阵的建立 25 范例1-12 对称矩阵的建立 25 ∷相关函数:store函数 1.1.13 字符串长度的计算 28 范例1-13 字符串长度的计算 28 ∷相关函数:strlen函数 1.1.14 字符串的复制 29 范例1-14 字符串的复制 29 ∷相关函数:strcpy函数 1.1.15 字符串的替换 31 范例1-15 字符串的替换 31 ∷相关函数:strrep函数 1.1.16 字符串的删除 33 范例1-16 字符串的删除 33 ∷相关函数:strdel函数 1.1.17 字符串的比较 35 范例1-17 字符串的比较 35 ∷相关函数:strcmp函数 1.1.18 字符串的抽取 36 范例1-18 字符串的抽取 36 ∷相关函数:substr函数 1.1.19 字符串的分割 38 范例1-19 字符串的分割 38 ∷相关函数:partition函数 1.1.20 字符串的插入 40 范例1-20 字符串的插入 40 ∷相关函数:insert函数 1.1.21 字符串的匹配 42 范例1-21 字符串的匹配 42 ∷相关函数:nfind函数 1.1.22 字符串的合并 43 范例1-22 字符串的合并 43 ∷相关函数:catstr函数 1.1.23 文本编辑 45 范例1-23 文本编辑 45 ∷相关函数:StrAssign函数 1.2 栈和队列 54 1.2.1 用数组仿真堆栈 54 范例1-24 用数组仿真堆栈 54 ∷相关函数:push函数 pop函数 1.2.2 用链表仿真堆栈 57 范例1-25 用链表仿真堆栈 57 ∷相关函数:push函数 pop函数 1.2.3 顺序栈公用 59 范例1-26 顺序栈公用 59 ∷相关函数:push函数 pop函数 1.2.4 进制转换问题 61 范例1-27 进制转换问题 61 ∷相关函数:MultiBaseOutput函数 1.2.5 顺序队列操作 64 范例1-28 顺序队列操作 64 ∷相关函数:push函数 pop函数 1.2.6 循环队列 66 范例1-29 循环队列 66 ∷相关函数:EnQueue函数 DeQueue函数 1.2.7 链队列的入队、出队 69 范例1-30 链队列入队、出队 69 ∷相关函数:push函数 pop函数 1.2.8 舞伴问题 71 范例1-31 舞伴问题 71 ∷相关函数:EnQueue函数 DeQueue函数 DancePartner函数 1.3 链表 75 1.3.1 头插法建立单链表 75 范例1-32 头插法建立单链表 75 ∷相关函数:createlist函数 1.3.2 限制链表长度建立单链表 77 范例1-33 限制链表长度建立长单链表 77 ∷相关函数:createlist函数 1.3.3 尾插法建立单链表 79 范例1-34 尾插法建立单链表 79 ∷相关函数:createlist函数 1.3.4 按序号查找单链表 80 范例1-35 按序号查找单链表 80 ∷相关函数:getnode函数 1.3.5 按值查找单链表 82 范例1-36 按值查找单链表 82 ∷相关函数:locatenode函数 1.3.6 链表的插入 84 范例1-37 链表的插入 84 ∷相关函数:insertnode函数 1.3.7 链表的删除 86 范例1-38 链表的删除 86 ∷相关函数:deletelist函数 1.3.8 归并两个单链表 88 范例1-39 归并两个单链表 88 ∷相关函数:concatenate函数 1.3.9 动态堆栈 90 范例1-40 动态堆栈 90 ∷相关函数:push函数 Pop函数 1.3.10 动态队列 93 范例1-41 动态队列 93 ∷相关函数:Enqueue函数 1.3.11 初始化单循环链表 95 范例1-42 初始化单循环链表 95 ∷相关函数:ListLength_CL函数 1.3.12 查询元素的前驱和后继 98 范例1-43 查询元素的前驱和后继 98 ∷相关函数:PriorElem_CL函数 NextElem_CL函数 1.3.13 单循环链表中元素的删除 101 范例1-44 单循环链表中元素的删除 101 ∷相关函数:ListDelete_CL函数 1.3.14 单循环链表的清除和销毁 107 范例1-45 单循环链表的清除和销毁 107 ∷相关函数:DestroyList函数 1.3.15 仅设表尾指针循环链表的合并 110 范例1-46 仅设表尾指针循环链表的合并 110 ∷相关函数:MergeList_CL函数 1.3.16 正序输出双向链表 113 范例1-47 正序输出双向链表 113 ∷相关函数:ListInsert函数 ListTraverse函数 1.3.17 逆向输出双向链表 116 范例1-48 三角矩阵建立 116 ∷相关函数:ListTraverseBack函数 1.3.18 删除双向链表中的节点 121 范例1-49 删除双向链表中的节点 121 ∷相关函数:ListDelete函数 1.3.19 双向链表的元素个数 124 范例1-50 双向链表的元素个数 124 ∷相关函数:ListLength函数 1.3.20 判断双向链表是否为空 126 范例1-51 判断双向链表是否为空 126 ∷相关函数:ListEmpty函数 1.3.21 双向链表元素值的查询 129 范例1-52 双向链表元素值的查询 129 ∷相关函数:GetElemP函数 1.3.22 稀疏矩阵的建立 136 范例1-53 稀疏矩阵的建立 136 ∷相关函数:Create函数 1.3.23 稀疏矩阵的删除 138 范例1-54 稀疏矩阵的删除 138 ∷相关函数:erase函数 1.4 树和二叉树 141 1.4.1 获得二叉树的深度和根(顺序结构) 141 范例1-55 获得二叉树的深度和根 141 ∷相关函数:BiTreeDepth函数 Root函数 1.4.2 获得二叉树的深度和根(链表结构) 144 范例1-56 获得二叉树的深度和根 144 ∷相关函数:BiTreeDepth函数 Root函数 1.4.3 树的插入(顺序结构) 147 范例1-57 树的插入 147 ∷相关函数:InsertChild函数 1.4.4 节点的修改(顺序结构) 150 范例1-58 节点的修改 150 ∷相关函数:Assign函数 1.4.5 节点的修改(链式结构) 154 范例1-59 节点的修改 154 ∷相关函数:Assign函数 1.4.6 双亲、孩子和兄弟节点的查询(顺序结构) 158 范例1-60 双亲、孩子和兄弟节点的查询 158 ∷相关函数:Parent函数 LeftChild函数 RightChild函数 LeftSibling函数 RightSibling函数 1.4.7 双亲、孩子和兄弟节点的查询(链式结构) 162 范例1-61 双亲、孩子和兄弟节点的查询 162 ∷相关函数:Parent函数 LeftChild函数 RightChild函数 LeftSibling函数 RightSibling函数 1.4.8 中序遍历二叉树(顺序结构) 169 范例1-62 中序遍历二叉树 169 ∷相关函数:InOrderTraverse函数 1.4.9 中序遍历二叉树(链式结构) 171 范例1-63 中序遍历二叉树 171 ∷相关函数:InOrderTraverse函数 1.4.10 中序非递归遍历二叉树(链式结构)(1) 174 范例1-64 中序非递归遍历二叉树 174 ∷相关函数:InOrderTraverse函数 1.4.11 中序非递归遍历二叉树(链式结构)(2) 177 范例1-65 中序非递归遍历二叉树 177 ∷相关函数:InOrderTraverse2函数 1.4.12 后序遍历二叉树(顺序结构) 180 范例1-66 后序遍历二叉树 180 ∷相关函数:PostOrderTraverse函数 1.4.13 后序遍历二叉树(链式结构) 183 范例1-67 后序遍历二叉树 183 ∷相关函数:PostOrderTraverse函数 1.4.14 层次遍历二叉树(顺序结构) 186 范例1-68 层次遍历二叉树 186 ∷相关函数:LevelOrderTraverse函数 1.4.15 层次遍历二叉树(链式结构) 188 范例1-68 层次遍历二叉树 188 ∷相关函数:LevelOrderTraverse函数 1.4.16 树的合并 191 范例1-70 树的合并 191 ∷相关函数:Find函数 Union函数 1.4.17 树的二叉链表存储的基本操作 193 范例1-71 树的二叉链表存储的基本操作 193 ∷相关函数:LevelOrderTraverse函数 1.4.18 二叉树的三叉链表存储的基本操作 201 范例1-72 二叉树的三叉链表存储表示 201 ∷相关函数:CreateBiTree函数 1.4.19 二叉树的二叉线索存储的基本操作 212 范例1-73 二叉树的二叉线索存储 212 ∷相关函数:CreateBiThrTree函数 1.4.20 树的双亲表存储的基本操作 215 范例1-74 树的双亲表存储的基本操作 215 ∷相关函数:CreateTree函数 1.4.21 哈夫曼编码(1) 223 范例1-75 哈夫曼编码(1) 223 ∷相关函数:HuffmanCoding函数 1.4.22 哈夫曼编码(2) 226 范例1-76 哈夫曼编码(2) 226 ∷相关函数:HuffmanCoding函数 1.5 排序 229 1.5.1 直接插入排序 229 范例1-77 直接插入排序 229 ∷相关函数:InsertSort函数 1.5.2 折半插入排序(顺序结构) 231 范例1-78 折半插入排序(顺序结构) 231 ∷相关函数:BInsertSort函数 1.5.3 2—路插入排序(顺序结构) 233 范例1-79 2—路插入排序(顺序结构) 233 ∷相关函数:P2_InsertSort函数 1.5.4 折半插入排序(链式结构) 235 范例1-80 折半插入排序(链式结构) 235 ∷相关函数:Arrange函数 1.5.5 2—路插入排序(链式结构) 238 范例1-81 2—路插入排序(链式结构) 238 ∷相关函数:Rearrange函数 1.5.6 希尔排序 241 范例1-82 希尔排序 241 ∷相关函数:ShellSort函数 1.5.7 冒泡排序 243 范例1-83 冒泡排序 243 ∷相关函数:bubble_sort函数 1.5.8 一趟快速排序 246 范例1-84 一趟快速排序 246 ∷相关函数:QSort函数 1.5.9 一趟快速排序的改进算法 248 范例1-85 一趟快速排序的改进算法 248 ∷相关函数:QuickSort函数 1.5.10 简单选择排序 250 范例1-86 简单选择排序 250 ∷相关函数:SelectSort函数 1.5.11 箱子排序 252 范例1-87 箱子排序 252 ∷相关函数:sort函数 1.5.12 树型选择排序 254 范例1-88 树型选择排序 254 ∷相关函数:TreeSort函数 1.5.13 堆排序 256 范例1-89 堆排序 256 ∷相关函数:HeapSort函数 1.5.14 归并排序 258 范例1-90 归并排序 258 ∷相关函数:MergeSort函数 1.5.15 多路平衡归并排序 260 范例1-91 多路平衡归并排序 260 ∷相关函数:K_Merge函数 1.5.16 置换—选择排序 265 范例1-92 置换—选择排序 265 ∷相关函数:Replace_Selection函数 1.5.17 文件的归并 269 范例1-93 文件的归并 269 ∷相关函数:K_Merge函数 1.6 查找 272 1.6.1 顺序表的查找 273 范例1-94 顺序表的查找 273 ∷相关函数:Search_Seq函数 1.6.2 静态树表的查找 276 范例1-95 静态树表的查找 276 ∷相关函数:Search_SOSTree函数 1.6.3 二叉排序树的基本操作 280 范例1-96 二叉排序树的基本操作 280 ∷相关函数:InsertBST函数 1.6.4 平衡二叉树的基本操作 285 范例1-97 平衡二叉树的基本操作 285 ∷相关函数:SearchBST函数 1.6.5 B树的基本操作 290 范例1-98 B树的基本操作 290 ∷相关函数:SearchBTree函数 1.6.6 按关键字符串的遍历双链键树 295 范例1-99 按关键字符串遍历双链键树 295 ∷相关函数:SearchDLTree函数 1.6.7 按关键字符串的遍历Trie树 301 范例1-100 按关键字符串遍历Trie树 301 ∷相关函数:SearchTrie函数 1.6.8 哈希表的基本操作 306 范例1-101 哈希表的基本操作 306 ∷相关函数:SearchHash函数 1.7 图 311 1.7.1 图的邻接矩阵存储表示 311 范例1-102 图的邻接矩阵存储表示 ∷相关函数:CreateFAG函数 CreateDG函数 1.7.2 图的邻接表存储表示 324 范例1-103 图的邻接表存储表示 324 ∷相关函数:CreateFAG函数 1.7.3 有向图的十字链表存储表示 335 范例1-104 有向图的十字链表存储表示 335 ∷相关函数:CreateDG函数 1.7.4 无向图的邻接多重表存储表示 344 范例1-105 无向图的邻接多重表存储表示 344 ∷相关函数:CreateGraph函数 1.7.5 最小生成树 355 范例1-106 最小生成树 355 ∷相关函数:MiniSpanTree_PRIM函数 1.7.6 关节点和重连通分量 359 范例1-107 关节点和重连通分量 359 ∷相关函数:FindArticul函数 1.7.7 拓扑排序 366 范例1-108 拓扑排序 366 ∷相关函数:TopologicalSort函数 1.7.8 关键路径 374 范例1-109 关键路径 374 ∷相关函数:CriticalPath函数 1.7.9 最短路径 383 范例1-110 最短路径 383 ∷相关函数:ShortestPath_DIJ函数 1.7.10 每一对顶点之间的最短路径 387 范例1-111 每一对顶点之间的最短路径 387 ∷相关函数:ShortestPath_FLOYD函数 1.8 本章小结 395 第2章 数值计算 397 2.1 常见的数学函数 398 2.1.1 求整数的绝对值 398 范例2-1 求整数的绝对值 398 ∷相关函数:abs函数 2.1.2 求长整型整数的绝对值 399 范例2-2 求长整型整数的绝对值 399 ∷相关函数:labs函数 2.1.2 求浮点数的绝对值 400 范例2-2 求浮点数的绝对值 400 ∷相关函数:fabs函数 2.1.4 求反余弦 400 范例2-4 求反余弦 400 ∷相关函数:acos函数 2.1.5 求反正弦 401 范例2-5 求反正弦 401 ∷相关函数:asin函数 2.1.6 求反正切 402 范例2-6 求反正切 402 ∷相关函数:atan函数 2.1.7 对浮点数进行舍入 403 范例2-7 对浮点数进行舍入 403 ∷相关函数:ceil函数 2.1.8 求余弦 404 范例2-8 求余弦 404 ∷相关函数:cos函数 2.1.9 求双曲余弦 405 范例2-9 求双曲余弦 405 ∷相关函数:cosh函数 2.1.10 求正弦 406 范例2-10 求正弦 406 ∷相关函数:sin函数 2.1.11 求双曲正弦 406 范例2-11 求双曲正弦 406 ∷相关函数:sinh函数 2.1.12 求正切 407 范例2-12 求正切 407 ∷相关函数:tan函数 2.1.13 求双曲正切 408 范例2-13 求双曲正切 408 ∷相关函数:tanh函数 2.1.14 获得整数相除的商和余数 409 范例2-14 获得整数相除的商和余数 409 ∷相关函数:div函数 2.1.15 求ex 410 范例2-15 求ex 410 ∷相关函数:exp函数 2.1.16 获取浮点相除的余数 411 范例2-16 获取浮点数相除的余数 411 ∷相关函数:fmod函数 2.1.17 获取浮点数的尾数和指数 412 范例2-17 获取浮点数的尾数和指数 412 ∷相关函数:frexp函数 2.1.18 求x2exponent 413 范例2-18 一维多项式求值 413 ∷相关函数:ldexp函数 2.1.19 求自然对数 413 范例2-19 求自然对数 413 ∷相关函数:log 函数 2.1.20 求lgx 414 范例2-20 求lgx 414 ∷相关函数:log10函数 2.1.21 获取浮点数的整数部分和小数部分 415 范例2-21 第二类椭圆积分 415 ∷相关函数:modf函数 2.1.22 求xy 416 范例2-22 求xy 416 ∷相关函数:pow函数 2.1.23 求10x 417 范例2-23 求10x 417 ∷相关函数:pow10函数 2.1.24 获取随机数 418 范例2-24 获取随机数 418 ∷相关函数:rand函数 2.1.25 设置随机数生成器初值 418 范例2-25 设置随机数生成器初值 418 ∷相关函数:srand函数 2.1.26 获取最大值和最小值 419 范例2-26 获取最大值和最小值 419 ∷相关函数:max函数 min函数 2.1.27 求直角三角形的斜边长 421 范例2-27 求直角三角形的斜边长 421 ∷相关函数:hypot函数 2.1.28 获取多项式的值 421 范例2-28 获取多项式的值 421 ∷相关函数:poly函数 2.2 多项式的计算 422 2.2.1 一维多项式求值 422 范例2-29 一维多项式求值 422 ∷相关函数:polyval函数 2.2.2 二维多项式求值 424 范例2-30 二维多项式求值 424 ∷相关函数:tdpolyval函数 2.2.3 复系数一维多项式求值 425 范例2-31 复系数一维多项式求值 425 ∷相关函数:cppolyval函数 2.2.4 多项式相乘 427 范例2-32 多项式相乘 427 ∷相关函数:polymul函数 2.2.5 复系数多项式相乘 428 范例2-33 复系数多项式相乘 428 ∷相关函数:cppolymul函数 2.2.6 多项式除法 430 范例2-34 多项式除法 430 ∷相关函数:polydiv函数 2.2.7 复数多项式相除 432 范例2-35 复数多项式相除 432 ∷相关函数:cppolydiv函数 2.3 复数运算 435 2.3.1 复数乘法 435 范例2-36 复数乘法 435 ∷相关函数:cpmul函数 2.3.2 复数除法 436 范例2-37 复数除法 436 ∷相关函数:cpdiv函数 2.3.3 复数乘幂 437 范例2-38 复数乘幂 437 ∷相关函数:cppower函数 2.3.4 复数的n次方根 439 范例2-39 复数乘法 439 ∷相关函数:cproot函数 2.3.5 复数指数 441 范例2-40 复数指数 441 ∷相关函数:polyval函数 2.3.6 复数对数 442 范例2-41 复数对数 442 ∷相关函数:cplog函数 2.3.7 复数正弦 443 范例2-42 复数正弦 443 ∷相关函数:cpsin函数 2.3.8 复数余弦 444 范例2-43 复数余弦 444 ∷相关函数:cpcos函数 2.4 随机数的产生 445 2.4.1 产生0~1之间均匀分布的随机数 446 范例2-44 0~1之间均匀分布的随机数 446 ∷相关函数:edisrnd函数 2.4.2 产生0~1之间均匀分布的随机数序列数 447 范例2-45 0~1之间均匀分布的随机数序列 447 ∷相关函数:edisrndsq函数 2.4.3 产生任意区间内均匀分布的随机数 448 范例2-46 产生任意区间内均匀分布的随机数 448 ∷相关函数:itervalrnd函数 2.4.4 产生任意区间内均匀分布的随机数序列 450 范例2-47 产生任意区间内均匀分布的随机数序列 450 ∷相关函数:itervalrndsq函数 2.4.5 产生任意均值与方差的正态分布的随机数 451 范例2-48 任意均值与方差的正态分布的随机数 451 ∷相关函数:nordisrnd函数 2.4.6 产生任意均值与方差的正态分布的随机数序列 453 范例2-49 任意均值与方差的正态分布随机数序列 453 ∷相关函数:nordisrndsq函数 2.5 矩阵运算 454 2.5.1 实矩阵相乘 454 范例2-50 实矩阵相乘 454 ∷相关函数:matrixmul函数 2.5.2 复矩阵相乘 456 范例2-51 复矩阵相乘 456 ∷相关函数:cpmatrixmul函数 2.5.3 一般实矩阵求逆 458 范例2-52 一般实矩阵求逆 458 ∷相关函数:matrix_inverse函数 2.5.4 一般复矩阵求逆 462 范例2-53 一般复矩阵求逆 462 ∷相关函数:multi_matrix_inverse函数 2.5.5 对称正定矩阵的求逆 465 范例2-54 对称正定矩阵的求逆 465 ∷相关函数:symmetric_positive_definite_matrix函数 2.5.6 托伯利兹矩阵求逆的特兰持方法 467 范例2-55 托伯利兹矩阵求逆的特兰持方法 467 ∷相关函数:toeplitz_inv函数 2.5.7 求一般行列式的值 470 范例2-56 求一般行列式的值 470 ∷相关函数:determinant_value函数 2.5.8 求矩阵的秩 472 范例2-57 求矩阵的秩 472 ∷相关函数:determinant_rank函数 2.5.9 对称正定矩阵的乔里斯基分解与行列式求值 474 范例2-58 对称正定矩阵的乔里斯基分解 474 ∷相关函数:cholesky_method函数 2.5.10 矩阵的三角分解 476 范例2-59 矩阵的三角分解 476 ∷相关函数:triangular_decomposition函数 2.5.11 一般实矩阵的QR分解 478 范例2-60 一般实矩阵的QR分解 478 ∷相关函数:qr_decomposition函数 2.5.12 求广义逆的奇异值分解法 480 范例2-61 求广义逆的奇异值分解法 480 ∷相关函数:singular_value_decomposition函数 generalized_inverses函数 2.6 矩阵特征值与特征向量的计算 489 2.6.1 约化对称矩阵为对称三对角阵的豪斯荷尔德变换法 489 范例2-62 约化对称矩阵为对称三对角阵 489 ∷相关函数:Householder_method函数 2.6.2 求对称三对角阵的全部特征值与特征向量 492 范例2-63 求对称三对角阵的全部特征值 492 ∷相关函数:def_qr函数 2.6.3 约化一般实矩阵为赫申伯格矩阵的初等相似变换法 496 范例2-64 约化实矩阵为赫申伯格矩阵 496 ∷相关函数:trans_hessenbreg函数 2.6.4 求赫申伯格矩阵全部特征值的QR方法 498 范例2-65 求赫申伯格矩阵全部特征值 498 ∷相关函数:hessenbreg_qr函数 2.6.5 求实对称矩阵特征值与特征向量的雅可比法 502 范例2-66 雅可比法求特征值与特征向量 502 ∷相关函数:jacobi_method函数 2.6.6 求实对称矩阵特征值与特征向量的雅可比过关法 505 范例2-67 雅可比过关法 505 ∷相关函数:jacobi_clearance函数 2.7 线性代数方程组的求解 507 2.7.1 求解实系数方程组的全选主元高斯消去法 508 范例2-68 全选主元高斯消去法 508 ∷相关函数:gauss_elimination函数 2.7.2 求解实系数方程组的全选主元高斯—约当消去法 510 范例2-69 全选主元高斯—约当消去法 510 ∷相关函数:gauss_jordan_elimination函数 2.7.3 求解复系数方程组的全选主元高斯消去法 513 范例2-70 求解复系数方程组(方法一) 513 ∷相关函数:plu_gauss函数 2.7.4 求解复系数方程组的全选主元高斯—约当消去法 516 范例2-71 求解复系数方程组(方法二) 516 ∷相关函数:plu_gauss_jordan函数 2.7.5 求解三对角线方程组的追赶法 519 范例2-72 求解三对角线方程组的追赶法 519 ∷相关函数:tridiagonal_chase函数 2.7.6 求解一般带型方程组 521 范例2-73 求解一般带型方程组 521 ∷相关函数:principal_gauss函数 2.7.7 求解对称方程组的分解法 523 范例2-74 求解对称方程组的分解法 523 ∷相关函数:equations_decomposition函数 2.7.8 求解对称正定方程组的平方根法 526 范例2-75 求解对称正定方程组的平方根法 526 ∷相关函数:equations_square_root函数 2.7.9 求解大型稀疏方程组 528 范例2-76 求解大型稀疏方程组 528 ∷相关函数:sparse_gauss_jordan函数 2.7.10 求解托伯利兹方程组的列文逊方法 531 范例2-77 求解托伯利兹方程组 531 ∷相关函数:toeplitz_levinson函数 2.7.11 高斯—赛德尔迭代法 533 范例2-78 高斯—赛德尔迭代法 533 ∷相关函数:gauss_seidel_iteration函数 2.7.12 求解对称正定方程组的共轭梯度法 535 范例2-79 求解对称正定方程组的共轭梯度法 535 ∷相关函数:conjugate_gradient_method函数 2.7.13 求解线性最小二乘问题的豪斯荷尔德变换法 537 范例2-80 求解线性最小二乘问题 537 ∷相关函数:least_square_householder函数 2.7.14 求解线性最小二乘问题的广义逆法 540 范例2-81 求解线性最小二乘问题的广义逆法 540 ∷相关函数:least_squares_reversion函数 2.7.15 求解病态方程组 549 范例2-82 求解病态方程组 549 ∷相关函数:morbid_equations函数 2.8 非线性方程与方程组的求解 553 2.8.1 求非线性方程一个实根的对分法 553 范例2-83 对分法 553 ∷相关函数:nonlinear_dichotomy函数 2.8.2 求非线性方程一个实根的牛顿法 555 范例2-84 牛顿法 555 ∷相关函数:newton_iterative函数 2.8.3 求非线性方程一个实根的埃特金迭代法 557 范例2-85 埃特金迭代法 557 ∷相关函数:aitken_iterative函数 2.8.4 求非线性方程一个实根的连分式法 558 范例2-86 连分式法 558 ∷相关函数:continued_fraction函数 2.8.5 求实系数代数方程全部根的QR方法 560 范例2-87 QR方法 560 ∷相关函数:qr_all函数 2.8.6 求实系数代数方程全部根的牛顿下山法 563 范例2-88 求实系数代数方程全部根的牛顿下山法 563 ∷相关函数:newton_descent_all函数 2.8.7 求复系数代数方程全部根的牛顿下山法 568 范例2-89 求复系数代数方程全部根的牛顿下山法 568 ∷相关函数:newton_descent_complex函数 2.8.8 求非线性方程组一组实根的梯度法 572 范例2-90 求非线性方程组一组实根的梯度法 572 ∷相关函数:gradient_nonlinear函数 2.8.9 求非线性方程组一组实根的拟牛顿法 574 范例2-91 求非线性方程组一组实根的拟牛顿法 574 ∷相关函数:quasi_newton_nonlinear函数 2.8.10 求非线性方程一个实根的蒙特卡洛法 577 范例2-92 求非线性方程的蒙特卡洛法 577 ∷相关函数:monte_carlo_nonlinear函数 2.8.11 求实函数或复函数方程一个复根的蒙特卡洛法 579 范例2-93 第二类椭圆积分 579 ∷相关函数:monte_carlo_realplex函数 2.8.12 求非线性方程组一组实根的蒙特卡洛法 581 范例2-94 第二类椭圆积分 581 ∷相关函数:monte_carlo_equation函数 2.9 插值与逼近 583 2.9.1 一元全区间插值 583 范例2-95 一元全区间插值 583 ∷相关函数:interpolation_total函数 2.9.2 一元三点插值 585 范例2-96 一元三点插值 585 ∷相关函数:interpolation_three函数 2.9.3 连分式插值 586 范例2-97 连分式插值 586 ∷相关函数:interpolation_continued函数 2.9.4 埃尔米特插值 588 范例2-98 埃尔米特插值 588 ∷相关函数:interpolation_hermite函数 2.9.5 埃特金逐步插值 590 范例2-99 第二类椭圆积分 590 ∷相关函数:interpolation_aitken函数 2.9.6 光滑插值 592 范例2-100 光滑插值 592 ∷相关函数:interpolation_akima函数 2.9.7 第一种边界条件的三次样条函数插值、微商与积分 595 范例2-101 第一种边界条件的三次样条函数 595 ∷相关函数:cubic_spline_first函数 2.9.8 第二种边界条件的三次样条函数插值、微商与积分 598 范例2-102 第二种边界条件的三次样条函数 598 ∷相关函数:cubic_spline_second函数 2.9.9 第三种边界条件的三次样条函数插值、微商与积分 600 范例2-103 第三种边界条件的三次样条函数 600 ∷相关函数:cubic_spline_third函数 2.9.10 二元三点插值 604 范例2-104 二元三点插值 604 ∷相关函数:interpolation_point函数 2.9.11 二元全区间插值 606 范例2-105 二元全区间插值 606 ∷相关函数:interpolation_total函数 2.9.12 最小二乘曲线拟合 608 范例2-106 最小二乘曲线拟合 608 ∷相关函数:least_squares_fitting函数 2.9.13 切比雪夫曲线拟合 611 范例2-107 切比雪夫曲线拟合 611 ∷相关函数:chebyshev_fitting函数 2.9.14 最佳一致逼近的里米兹方法 614 范例2-108 最佳一致逼近的里米兹方法 614 ∷相关函数:remez_method函数 2.9.15 矩形域的最小二乘曲面拟合 616 范例2-109 矩形域的最小二乘曲面拟合 616 ∷相关函数:rec_fitting函数 2.10 数值积分 621 2.10.1 变步长梯形求积法 621 范例2-110 变步长梯形求积法 621 ∷相关函数:integration_ladder函数 2.10.2 变步长辛卜生求积法 623 范例2-111 变步长辛卜生求积法 623 ∷相关函数:integration_simpson函数 2.10.3 自适应梯形求积法 624 范例2-112 自适应梯形求积法 624 ∷相关函数:integration_self_adaptive函数 2.10.4 龙贝格求积法 626 范例2-113 龙贝格求积法 626 ∷相关函数:integration_romberg函数 2.10.5 计算一维积分的连分式法 627 范例2-114 计算一维积分的连分式法 627 ∷相关函数:continued_fractions函数 2.10.6 高振荡函数求积法 629 范例2-115 高振荡函数求积法 629 ∷相关函数:higher_oscillatory_integration函数 2.10.7 勒让德—高斯求积法 631 范例2-116 勒让德—高斯求积法 631 ∷相关函数:legendre_gauss函数 2.10.8 拉盖尔—高斯求积法 633 范例2-117 拉盖尔—高斯求积法 633 ∷相关函数:laguerre_gauss函数 2.10.9 埃尔米特—高斯求积法 634 范例2-118 埃尔米特—高斯求积法 634 ∷相关函数:hermite_gauss函数 2.10.10 切比雪夫求积法 635 范例2-119 切比雪夫求积法 635 ∷相关函数:chebyshev函数 2.10.11 计算一维积分的蒙特卡洛法 637 范例2-120 计算一维积分的蒙特卡洛法 637 ∷相关函数:monte_carlo函数 2.10.12 变步长辛卜生二重积分法 638 范例2-121 变步长辛卜生二重积分法 638 ∷相关函数:simpson函数 2.10.13 计算多重积分的高斯方法 640 范例2-122 计算多重积分的高斯方法 640 ∷相关函数:gauss函数 2.10.14 计算二重积分的连分式法 643 范例2-123 计算二重积分的连分式法 643 ∷相关函数:continued_fractions_dual函数 2.10.15 计算多重积分的蒙特卡洛法 645 范例2-124 计算多重积分的蒙特卡洛法 645 ∷相关函数:monte_carlo_multi函数 2.11 常微分方程组的求解 647 2.11.1 全区间积分的定步长欧拉方法 647 范例2-125 全区间积分的定步长欧拉方法 647 ∷相关函数:euler_step函数.. 2.11.2 积分一步的变步长欧拉方法 649 范例2-126 积分一步的变步长欧拉方法 649 ∷相关函数:euler_variable函数 2.11.3 全区间积分的维梯方法 651 范例2-127 全区间积分的维梯方法 651 ∷相关函数:witty函数 2.11.4 全区间积分的定步长龙格—库塔方法 653 范例2-128 全区间积分的定步长龙格—库塔方法实例位置 653 ∷相关函数:runge_kutta函数 2.11.5 积分一步的变步长龙格—库塔方法 655 范例2-129 积分一步的变步长龙格—库塔方法实例位置 655 ∷相关函数:runge_kutta_steps函数 2.11.6 积分一步的变步长基尔方法 657 范例2-130 积分一步的变步长基尔方法 657 ∷相关函数:gill函数 2.11.7 全区间积分的变步长默森方法 659 范例2-131 全区间积分的变步长默森方法 659 ∷相关函数:merson函数 2.11.8 积分一步的连分式法 662 范例2-132 积分一步的连分式法 662 ∷相关函数:continued_step函数 2.11.9 全区间积分的双边法 665 范例2-133 全区间积分的双边法 665 ∷相关函数:bilateral函数 2.11.10 全区间积分的阿当姆斯预报校正法 668 范例2-134 阿当姆斯预报校正法 668 ∷相关函数:adams函数 2.11.11 全区间积分的哈明方法 671 范例2-135 全区间积分的哈明方法 671 ∷相关函数:hamming函数 2.11.12 积分一步的特雷纳方法 675 范例2-136 积分一步的特雷纳方法 675 ∷相关函数:treanor函数 2.11.13 二阶微分方程边值问题的数值解法 678 范例2-137 二阶微分方程边值问题的数值解法 678 ∷相关函数:finite_difference函数 2.12 数据处理与回归分析 680 2.12.1 随机样本分析 680 范例2-138 随机样本分析 680 ∷相关函数:rndsplanalysis函数 2.12.2 一元线性回归分析 683 范例2-139 一元线性回归分析 683 ∷相关函数:liregression函数 2.12.3 多元线性回归分析 685 范例2-140 多元线性回归分析 685 ∷相关函数:mulliregression函数 2.12.4 半对数数据相关 688 范例2-141 半对数数据相关 688 ∷相关函数:fittinglogt函数 2.12.5 对数数据相关 690 范例2-142 对数数据相关 690 ∷相关函数:fittingln函数 2.13 极值问题的求解 691 2.13.1 一维极值连分式法 691 范例2-143 一维极值连分式法 691 ∷相关函数:extremum函数 2.13.2 n维极值连分式法 693 范例2-144 n维极值连分式法 693 ∷相关函数:nextremum函数 2.13.3 不等式约束线性规划问题 696 范例2-145 不等式约束线性规划问题 696 ∷相关函数:linearprogram函数 2.14 数学变换与滤波 700 2.14.1 傅里叶级数逼近 700 范例2-146 傅里叶级数逼近 700 ∷相关函数:seriesfour函数 2.14.2 快速傅里叶变换 702 范例2-147 快速傅里叶变换 702 ∷相关函数:quickfft函数 2.14.3 快速沃什变换 705 范例2-148 快速沃什变换 705 ∷相关函数:quickfwt函数 2.14.4 五点三次平滑 706 范例2-149 五点三次平滑 706 ∷相关函数:smoothness函数 2.14.5 卡尔曼滤波 708 范例2-150 卡尔曼滤波 708 ∷相关函数:kalfilter函数 2.14.6 α-β-γ滤波 713 范例2-151 α-β-γ滤波 713 ∷相关函数:alphabgfilter函数 2.15 特殊函数 714 2.15.1 Gamma函数 715 范例2-152 Gamma函数 715 ∷相关函数:Gamma函数 2.15.2 不完全Gamma函数 716 范例2-153 不完全Gamma函数 716 ∷相关函数:incomgam函数 2.15.3 误差函数 719 范例2-154 误差函数 719 ∷相关函数:errorfun函数 2.15.4 第一类整数Bessel函数 721 范例2-155 第一类整数Bessel函数 721 ∷相关函数:bessel1函数 2.15.5 第二类整数Bessel函数 724 范例2-156 第二类整数Bessel函数 724 ∷相关函数:bessel2函数 2.15.6 变形第一类整数Bessel函数 727 范例2-157 变形第二类整数Bessel函数 727 ∷相关函数:varbessel1函数 2.15.7 变形第二类整数Bessel函数 729 范例2-158 变形第二类整数Bessel函数 729 ∷相关函数:varbessel2函数 2.15.8 不完全Beta函数 734 范例2-159 不完全Beta函数 734 ∷相关函数:beta函数 2.15.9 正态分布函数 736 范例2-160 正态分布函数 736 ∷相关函数:gauss函数 2.15.10 t-分布函数 739 范例2-161 t-分布函数 739 ∷相关函数:tdistribution函数 2.15.11 2-分布函数 742 范例2-162 2-分布函数 742 ∷相关函数:xdistribution函数 2.15.12 F-分布函数 744 范例2-163 F-分布函数 744 ∷相关函数:fdistribution函数 2.15.13 正弦积分 747 范例2-164 正弦积分 747 ∷相关函数:sinintegral函数 2.15.14 余弦积分 749 范例2-165 余弦积分 749 ∷相关函数:cosintegral函数 2.15.15 指数积分 750 范例2-166 指数积分 750 ∷相关函数:expintegral函数 2.15.16 第一类椭圆积分 752 范例2-167 第一类椭圆积分 752 ∷相关函数:ellipseintegral1函数 2.15.17 第二类椭圆积分 754 范例2-168 第二类椭圆积分 754 ∷相关函数:ellipseintegral2函数 2.16 本章小结 756 第3章 图形图像处理 757 3.1 字符屏幕 758 3.1.1 文本的输入与输出 758 范例3-1 文本的输入与输出 758 ∷相关函数:printf函数 scanf函数 3.1.2 outtext、outtextxy函数输出 759 范例3-2 outtext, outtextxy函数输出 759 ∷相关函数:outtext函数 outtextxy函数 3.1.3 设置文本格式 761 范例3-3 设置文本格式 761 ∷相关函数:settextstyle函数 3.1.4 设置图形文本排列方式 763 范例3-4 设置图形文本排列方式 763 ∷相关函数:settextjustify函数 3.1.5 设置用户字符比例 765 范例3-5 设置用户字符比例 765 ∷相关函数:setusercharsize函数 3.1.6 控制文本的明暗度 766 范例3-6 控制文本的明暗度 766 ∷相关函数:highvideo函数 normvideo函数 lowvideo函数 3.1.7 设置文本的前景色和背景色 767 范例3-7 设置文本的前景色和背景色 767 ∷相关函数:textcolor函数 textbackground函数 3.1.8 字符窗口 770 范例3-8 字符窗口 770 ∷相关函数:clrscr函数 window函数 gotoxy函数 3.1.9 清除光标行尾字符 772 范例3-9 清除光标行尾字符 772 ∷相关函数:clreol函数 3.1.10 插入与删除行 773 范例3-10 插入与删除行 773 ∷相关函数:insline函数 delline函数 3.1.11 屏幕参数检测 774 范例3-11 屏幕参数检测 774 ∷相关函数:getgraphmode函数 getmaxx函数 getmaxy函数 getmaxcolor函数 cleardevice函数 3.2 图形图像处理基础 777 3.2.1 绘制像素点 777 范例3-12 绘制像素点 777 ∷相关函数:putpixel函数 3.2.2 绘制直线 778 范例3-13 绘制直线 778 ∷相关函数:line函数 lineto函数 linerel函数 moveto函数 moverel函数 3.2.3 绘制矩形 780 范例3-14 绘制矩形 780 ∷相关函数:rectangle函数 3.2.4 绘制多边形 781 范例3-15 绘制多边形 781 ∷相关函数:drawpoly函数 3.2.5 绘制圆 783 范例3-16 绘制圆 783 ∷相关函数:circle函数 3.2.6 绘制椭圆 784 范例3-17 绘制椭圆 784 ∷相关函数:ellipse函数 fillellipse函数 3.2.7 绘制圆弧 786 范例3-18 绘制圆弧 786 ∷相关函数:arc函数 3.2.8 绘制扇区 787 范例3-19 绘制扇区 787 ∷相关函数:pieslice函数 sector函数 3.2.9 绘制条块 788 范例3-20 绘制条块 788 ∷相关函数:bar函数 bar3d函数 3.2.10 图设置线型 790 范例3-21 设置线型 790 ∷相关函数:Setlinestyle函数 3.2.11 绘制填充矩形 792 范例3-22 绘制填充矩形 792 ∷相关函数:setfillstyle函数 floodfill函数 3.2.12 填充多边形 795 范例3-23 填充多边形 795 ∷相关函数:fillpoly函数 3.2.14 设置用户图样 796 范例3-24 设置用户图样 796 ∷相关函数:setfillpattern函数 3.3 图形图像处理进阶 798 3.3.1 绘制彩色点云 798 范例3-25 绘制彩色点云 798 ∷相关函数:rand函数 kbhit函数 3.3.2 绘制正多边形 799 范例3-26 绘制正多边形 799 ∷相关函数:sin函数 cos函数 3.3.3 图形法绘制圆 801 范例3-27 图形法绘制圆 801 ∷相关函数:drawCircle函数 3.3.4 图形法绘制椭圆 803 范例3-28 图形法绘制椭圆 803 ∷相关函数:ellipse1函数 3.3.5 绘制正弦曲线 805 范例3-29 绘制正弦曲线 805 ∷相关函数:lineto函数 3.3.6 绘制抛物样条曲线 806 范例3-30 绘制抛物样条曲线 806 ∷相关函数:parspl函数 marking函数 3.3.7 绘制布朗曲线 809 范例3-31 绘制布朗曲线 809 ∷相关函数:CreateFractalImage函数 Gauss函数 3.3.8 动态绘制256色线条 811 范例3-32 动态绘制256色线条 811 ∷相关函数:int86函数 3.3.9 三原色亮度渐变 813 范例3-33 三原色亮度渐变 813 ∷相关函数:geninterrupt函数 3.3.10 三视图模拟 815 范例3-34 三视图模拟 815 ∷相关函数:front_view函数 top_view函数 left_view函数 perspective_view函数 3.3.11 空间椭球模拟 817 范例3-35 空间椭球模拟 817 ∷相关函数:trans函数 draw函数 3.3.12 百叶窗效果 820 范例3-36 百叶窗效果 820 ∷相关函数:putpoint函数 3.3.13 视觉欺骗 822 范例3-37 视觉欺骗 822 ∷相关函数:dot函数 circ函数 bulb函数 3.3.14 三维建筑物 824 范例3-38 三维建筑物 824 ∷相关函数:liner函数 rightlead函数 leftlead函数 shadow函数 identifier函数 3.4 组合图案绘制 830 3.4.1 一箭穿心图案 830 范例3-39 重新打开文件流 830 ∷相关函数:draw函数 arrow函数 3.4.2 六叶图案 832 范例3-40 六叶图案 832 ∷相关函数:arc函数 3.4.3 花瓣形图案 833 范例3-41 花瓣形图案 833 ∷相关函数:line函数 3.4.4 雪花图案 835 范例3-42 雪花图案 835 ∷相关函数:setviewport函数 3.4.5 布艺图案 837 范例3-43 布艺图案 837 ∷相关函数:fractal函数 3.4.6 飘带图案 838 范例3-44 飘带图案 838 ∷相关函数:line函数 3.4.7 金刚石图案 840 范例3-45 金刚石图案 840 ∷相关函数:line函数 3.4.8 圆环图案 841 范例3-46 圆环图案 841 ∷相关函数:circles函数 3.4.9 肾型图案 843 范例3-47 肾型图案 843 ∷相关函数:circle函数 3.4.10 心脏型图案 844 范例3-48 心脏型图案 844 ∷相关函数:circle函数 3.4.11 鱼网图案 846 范例3-49 重新打开文件流 846 ∷相关函数:arc函数 3.4.12 沙丘图案 848 范例3-50 沙丘图案 848 ∷相关函数:lineto函数 3.4.13 正六边形螺旋图案 849 范例3-51 正六边形螺旋图案 849 ∷相关函数:polygonc函数 3.4.14 正方形螺旋拼块图案 851 范例3-52 正方形螺旋拼块图案 851 ∷相关函数:polygonc函数 block函数 3.4.15 递归法绘制三角形图案 853 范例3-53 递归法绘制三角形图案 853 ∷相关函数:elli函数 3.4.16 玫瑰图案 855 范例3-54 玫瑰图案 855 ∷相关函数:elli函数 draw函数 3.4.17 天空图案 859 范例3-55 天空图案 859 ∷相关函数:int86函数 3.4.18 Mandelbrot分形图案 864 范例3-56 Mandelbrot分形图案 864 ∷相关函数:mandelbrot函数 iterate函数 3.5 窗体界面与报表设计 866 3.5.1 窗体设计 866 范例3-57 窗体设计 866 ∷相关函数:mainform函数 windowborder函数 controls函数 3.5.2 简单菜单设计 871 范例3-58 简单菜单设计 871 ∷相关函数:initm函数 showItems函数 process 函数 process3函数 process1函数 3.5.3 制作表格 877 范例3-59 制作表格 877 ∷相关函数:putpixel函数 3.5.4 折线图 878 范例3-60 折线图 878 ∷相关函数:itoa函数 settextjustify函数 3.5.5 饼状图 880 范例3-61 饼状图 880 ∷相关函数:pieslice函数 3.5.6 柱状图 881 范例3-62 柱状图 881 ∷相关函数:Funscore函数 Drowxy 函数 Fundrow函数 3.6 动画制作 884 3.6.1 旋转的立体椭球 884 范例3-63 旋转的立体椭球 884 ∷相关函数:setactivepage函数 setvisualpage函数 3.6.2 小球碰撞演示 887 范例3-64 小球碰撞演示 887 ∷相关函数:imagsize函数 getimage函数 putimage函数 3.6.3 飘动的旗帜 889 范例3-65 飘动的旗帜 889 ∷相关函数:hor_wave_line函数 ver_wave_line函数 3.6.4 行驶中的小车 891 范例3-66 行驶中的小车 891 ∷相关函数:imagsize函数 getimage函数 putimage函数 3.6.5 不停动嘴巴的头 893 范例3-67 不停动嘴巴的头 893 ∷相关函数:getaspectratio函数 setaspectratio函数 setactivepage函数 setvisualpage函数 3.6.6 旋转的太极图 898 范例3-68 旋转的太极图 898 ∷相关函数:getpalette函数 sector函数 3.6.7 螺旋运动的圆斑 901 范例3-69 螺旋运动的圆斑 901 ∷相关函数:drawgoal函数 3.6.8 闪动的彩色圆斑 903 范例3-70 闪动的彩色圆斑 903 ∷相关函数:drawgoal函数 3.6.9 奔跑的小人 904 范例3-71 奔跑的小人 904 ∷相关函数:line函数 circle函数 3.6.10 发射火箭 907 范例3-72 发射火箭 907 ∷相关函数:DrawStar函数 DrawGun函数 DrawPlan函数 3.6.11 擦玻璃 911 范例3-73 擦玻璃 911 ∷相关函数:pieslice函数 bioskey函数 3.6.12 流星球 914 范例3-74 流星球 914 ∷相关函数:getimage函数 putimage函数 3.6.13 简单时钟 916 范例3-75 简单时钟 916 ∷相关函数:gettime函数 3.6.14 立体时钟 918 范例3-76 立体时钟 918 ∷相关函数:time函数 3.6.15 飘雪 920 范例3-77 飘雪 920 ∷相关函数:DrawSnow函数 Pr函数 3.6.16 制作火焰 923 范例3-78 制作火焰 923 ∷相关函数:outportb函数 pokeb函数 3.6.17 天体系统 926 范例3-79 天体系统 926 ∷相关函数:init_start函数 roll函数 3.6.18 扇动翅膀的蝴蝶 935 范例3-80 扇动翅膀的蝴蝶 935 ∷相关函数:putpixel函数 3.6.19 米奇 936 范例3-81 重新打开文件流 936 ∷相关函数:imagsize函数 getimage函数 putimage函数 3.7 本章小结 940 第4章 磁盘、目录和文件的操作 941 4.1 磁盘的操作 942 4.1.1 获取当前盘驱动器 942 范例4-1 获取当前盘驱动器 942 ∷相关函数:getdisk函数 4.1.2 设置当前驱动器 943 范例4-2 设置当前驱动器 943 ∷相关函数:setdisk函数 4.1.3 获取磁盘的可用空间 945 范例4-3 获取磁盘的可用空间 945 ∷相关函数:getdfree函数 4.1.4 测试软驱是否可用 946 范例4-4 测试软驱是否可用 946 ∷相关函数:biosdisk函数 4.2 目录的操作 948 4.2.1 创建目录 948 范例4-5 创建目录 948 ∷相关函数:mkdir函数 4.2.2 改变当前目录 950 范例4-6 改变当前目录 950 ∷相关函数:chdir函数 4.2.3 删除目录 952 范例4-7 删除目录 952 ∷相关函数:rmdir函数 4.3 文件的操作 953 4.3.1 用fopen函数打开文件 953 范例4-8 用fopen函数打开文件 953 ∷相关函数:fopen函数 4.3.2 打开系统temp目录中的文件 955 范例4-9 打开系统temp目录中的文件 955 ∷相关函数:getenv函数 4.3.2 使用低级函数打开和关闭文件 957 范例4-10 使用低级函数打开和关闭文件 957 ∷相关函数:open函数 close函数 4.3.3 用fclose函数关闭文件 959 范例4-11 用fclose函数关闭文件 959 ∷相关函数:fclose函数 4.3.4 一次性关闭所有被打开的文件 961 范例4-12 一次性关闭所有被打开的文件 961 ∷相关函数:fcloseall函数 4.3.5 以字符为单位读写文件 963 范例4-13 以字符为单位读写文件 963 ∷相关函数:fgetc函数 fputc函数 4.3.6 以字为单位读写文件 965 范例4-14 以字为单位读写文件 965 ∷相关函数:getw函数 putw函数 4.3.7 以低级的方式读写文件 967 范例4-15 以低级的方式读写文件 967 ∷相关函数:read函数 write函数 4.3.8 按结构读写文件 969 范例4-16 按结构读写文件 969 ∷相关函数:read函数 write函数 4.3.9 格式化写文件 971 范例4-17 格式化写文件 971 ∷相关函数:fprintf函数 4.3.10 格式化读文件 972 范例4-18 格式化读文件 972 ∷相关函数:fscanf函数 4.3.11 以行为单位写文件 974 范例4-19 以行为单位写文件 974 ∷相关函数:fputs函数 4.3.12 以行为单位读文件 975 范例4-20 以行为单位读文件 975 ∷相关函数:fgets函数 4.3.13 将缓冲区内容写入文件 977 范例4-21 将缓冲区内容写入文件 977 ∷相关函数:setbuf函数 4.3.14 用lseek函数定位文件指针 978 范例4-22 用lseek函数定位文件指针 978 ∷相关函数:lseek函数 4.3.15 获取文件流的文件句柄 980 范例4-23 获取文件流的文件句柄 980 ∷相关函数:fileno函数 4.3.16 从文件流指针中导出文件句柄 982 范例4-24 从文件流指针中导出文件句柄 982 ∷相关函数:fopen函数 4.3.17 利用eof函数判断文件是否结束 984 范例4-25 利用eof函数判断文件是否结束 984 ∷相关函数:eof函数 4.3.18 利用feof函数判断文件结尾 986 范例4-26 利用feof函数判断文件结尾 986 ∷相关函数:feof函数 4.3.19 刷新I/O流 988 范例4-27 刷新I/O流 988 ∷相关函数:fflush函数 4.3.20 利用tmpnam函数创建临时文件名 990 范例4-28 利用tmpnam函数创建临时文件名 990 ∷相关函数:tmpnam函数 4.3.21 创建真正的临时文件 992 范例4-29 创建真正的临时文件 992 ∷相关函数:tmpfile函数 4.3.22 创建文件 993 范例4-30 创建文件 993 ∷相关函数:creat函数 4.3.23 在指定目录中创建唯一文件 995 范例4-31 在指定目录中创建唯一文件 995 ∷相关函数:creattemp函数 4.3.24 利用creatnew函数创建新文件 996 范例4-32 利用creatnew函数创建新文件 996 ∷相关函数:creatnew函数 4.3.25 删除文件 998 范例4-33 删除文件 998 ∷相关函数:remove函数 4.3.26 查找文件获取文件的路径 1000 范例4-34 查找文件获取文件的路径 1000 ∷相关函数:searchpath函数 4.3.27 分解文件路径 1001 范例4-35 分解文件路径 1001 ∷相关函数:fnsplit函数 4.3.28 建立文件完全路径名 1003 范例4-36 建立文件完全路径名 1003 ∷相关函数:fnmerge 函数 4.3.29 读取文件分配表信息 1005 范例4-37 读取文件分配表信息 1005 ∷相关函数:getfat函数 getfatd函数 4.3.30 判断读写所在的文件的位置 1007 范例4-38 判断读写所在的文件的位置 1007 ∷相关函数:ftell函数 4.3.31 重命名文件 1009 范例4-39 重命名文件 1009 ∷相关函数:rename函数 4.3.32 判断访问文件的模式 1011 范例4-40 判断访问文件的模式 1011 ∷相关函数:access函数 4.3.34 设置文件访问模式 1013 范例4-41 设置文件访问模式 1013 ∷相关函数:chmod函数 4.3.35 显示文件的属性 1015 范例4-42 显示文件的属性 1015 ∷相关函数:_chmod函数 4.3.36 检测文件流的错误 1017 范例4-43 检测文件流的错误 1017 ∷相关函数:ferror函数 4.3.37 判断文件的长度 1019 范例4-44 判断文件的长度 1019 ∷相关函数:filelength函数 4.3.38 通过句柄设置打开文件的方式 1022 范例4-45 通过句柄设置打开文件的方式 1022 ∷相关函数:setmode函数 4.3.39 读取文件的时间和日期标记 1023 范例4-46 读取文件的时间和日期标记 1023 ∷相关函数:getftime函数 4.3.40 设置文件的时间和日期标记 1026 范例4-47 设置文件的时间和日期标记 1026 ∷相关函数:setftimet函数 4.3.41 改变文件的长度 1028 范例4-48 改变文件的长度 1028 ∷相关函数:chsize函数 4.3.42 控制文件打开操作的读写模式 1029 范例4-49 控制文件打开操作的读写模式 1029 ∷相关函数:umask函数 4.3.43 复制文件句柄 1032 范例4-50 复制文件句柄 1032 ∷相关函数:dup函数 4.3.44 强制复制文件句柄 1033 范例4-51 强制复制文件句柄 1033 ∷相关函数:dup2函数 4.3.45 用句柄判断读写所在的文件的位置 1036 范例4-52 用句柄判断当前文件指针的位置 1036 ∷相关函数:tell函数 4.3.46 根据当前位置定位文件指针 1038 范例4-53 根据当前位置定位文件指针 1038 ∷相关函数:fseek函数 4.3.47 获取文件句柄的信息 1039 范例4-54 获取文件句柄的信息 1039 ∷相关函数:fstat函数 4.3.48 重新打开文件流 1041 范例4-55 重新打开文件流 1041 ∷相关函数:freopen函数 4.4 本章小结 1043 第5章 系统调用 1045 5.1 时间和日期的操作 1046 5.1.1 获取当前的时间和日期 1046 范例5-1 获取当前时间和日期 1046 ∷相关函数:time函数 5.1.2 让程序延时指定的时间段 1047 范例5-2 让程序延时指定的时间段 1047 ∷相关函数:delay函数 5.1.3 比较两个时间 1048 范例5-3 比较两个时间 1048 ∷相关函数:difftime函数 5.1.4 读BIOS计时器 1050 范例5-4 读BIOS计时器 1050 ∷相关函数:biostime函数 5.1.5 比较两个时间获取当地时间 1051 范例5-5 获取当地时间 1051 ∷相关函数:localtime函数 5.1.6 获取格林威治平时 1052 范例5-6 获取格林威治平时 1052 ∷相关函数:gmtime函数 5.1.7 获取DOS系统时间 1054 范例5-7 获取DOS系统时间 1054 ∷相关函数:gettime函数 5.1.8 获取DOS系统日期 1055 范例5-8 获取DOS系统日期 1055 ∷相关函数:getdate函数 5.1.9 设置DOS系统时间 1057 范例5-9 设置DOS系统时间 1057 ∷相关函数:settime函数 5.1.10 设置DOS系统日期 1059 范例5-10 设置DOS系统日期 1059 ∷相关函数:setdate函数 5.1.11 获取时区信息 1061 范例5-11 获取时区信息 1061 ∷相关函数:ftime函数 5.2 BIOS的操作 1062 5.2.1 利用BIOS获取打印机的状态 1062 范例5-12 利用BIOS获取打印机的状态 1062 ∷相关函数:biosprint函数 5.2.2 获取Ctrl+Break信息 1064 范例5-13 获取CTRL+BREAK信息 1064 ∷相关函数:getcbrk函数 5.2.3 暂时挂起程序 1066 范例5-14 暂时挂起程序 1066 ∷相关函数:sleep函数 5.2.4 控制声音 1067 范例5-15 控制声音 1067 5.2.5 利用bdos函数访问DOS服务 1068 范例5-16 利用bdos函数访问DOS服务 1068 ∷相关函数:bdos函数 5.2.6 获取BIOS常规内存数量 1071 范例5-17 获取BIOS常规内存数量 1071 ∷相关函数:biosmemory函数 5.2.7 获取寄存器设置信息 1072 范例5-18 获取寄存器设置信息 1072 ∷相关函数:segread函数 5.3 内存的操作 1074 5.3.1 给内存区域赋值 1074 范例5-19 给内存区域赋值 1074 ∷相关函数:memset函数 5.3.2 获取时区信息复制内存区域 1076 范例5-20 复制内存区域 1076 5.3.3 复制内存区域指定的字节 1078 范例5-21 复制内存区域指定的字节 1078 ∷相关函数:memccpy函数 5.3.4 获取时区信息 1080 范例5-22 比较两个无符号字符数组 1080 5.3.5 交换字符串的两个相邻字节内容 1082 范例5-23 交换字符串的两个相邻字节内容 1082 ∷相关函数:swab函数 5.3.6 利用brk函数改变堆的大小 1084 范例5-24 利用brk函数改变堆的大小 1084 ∷相关函数:brk函数 5.3.7 获取指定内存单元内容 1086 范例5-25 获取指定内存单元内容 1086 5.3.8 设置指定内存单元内容 1088 范例5-26 设置指定内存单元内容 1088 5.4 本章小结 1090 索引... 1091

2012-08-31

深入理解计算机系统

出版说明 关于第二次印刷的几点说明 译 序 关于术语的翻译 在第二次印刷中一些重要术语的修订 前 言 关于作者 第1章 计算机系统漫游 1.1 信息就是位十上下文 1.2 程序被其他程序翻译成不同的格式 1.3 了解编译系统如何工作是大有益处的 1.4 处理器读并解释储存在存储器中的指令 1.5 高速缓存 1.6 形成层次结构的存储设备 1.7 操作系统管理硬件 1.8 利用网络系统和其他系统通信 1.9 下一步 1.10 小结 第1部分 程序结构和执行 第2章 信息的表示和处理 .2.1 信息存储 2.2 整数表示 2.3 整数运算 2.4 浮点 2.5 小结 第3章 程序的机器级表示 3.1 历史观点 3.2 程序编码 3.3 数据格式 3.4 访问信息 3.5 算术和逻辑操作 3.6 控制 3.7 过程 3.8 数组分配和访问 3.9 异类的数据结构 3.10 对齐(alignment) 3.11 综合:理解指针 3.12 现实生活:使用gdb调试器 3.13 存储器的越界引用和缓冲区溢出 3.14 *浮点代码 3.15 *在c程序中嵌入汇编代码 3.16 小结 第4章 处理器体系结构 4.1 y86指令集体系结构 4.2 逻辑设计和硬件控制语言hcl 4.3 y86的顺序(sequential)实现 4.4 流水线的通用原理 4.5 y86的流水线实现 4.6 小结 第5章 优化程序性能 5.1 优化编译器的能力和局限性 5.2 表示程序性能 5.3 程序示例 5.4 消除循环的低效率 5.5 减少过程调用 5.6 消除不必要的存储器引用 5.7 理解现代处理器 5.8 降低循环开销 5.9 转换到指针代码 5.10 提高并行性 5.11 综合:优化合并(combing)代码的效果小结 5.12 转移预测和预测错误处罚 5.13 解存储器性能 5.14 现实生活:性能提高技术 5.15 确认和消除性能瓶颈 5.16 小结 第6章 存储器层次结构 6.1 存储技术 6.2 局部性 6.3 存储器层次结构 6.4 高速缓存存储器 6.5 编写高速缓存友好的代码 6.6 综合:高速缓存对程序性能的影响 6.7 综合:利用程序中的局部性 6.8 小结 第2部分 在系统上运行程序 第7章 链接 7.1 编译器驱动程序 7.2 静态链接 7.3 标文件 7.4 可重定位目标文件 7.5 符号和符号表 7.6 符号解析 7.7 重定位 7.8 可执行目标文件 7.9 加载可执行目标文件 7.10 动态链接共享库 7.11 从应用程序中加载和链接共享库 7.12 *与位置无关的代码(pic) 7.13 处理目标文件的工具 7.14 小结 第8章 异常控制流 8.1 异常 8.2 进程 8.3 系统调用和错误处理 8.4 进程控制 8.5 信号 8.6 非本地跳转 8.7 操作进程的工具 8.8 小结 第9章 测量程序执行时间 9.1 计算机系统上的时间流 9.2 通过间隔计数(interval counting)来测量时间 9.3 周期计数器 9.4 用周期计数器来测量程序执行时间 9.5 基于gettimeofday函数的测量 9.6 综合:一个实验协议 9.7 展望未来 9.8 现实生活:k次最优测量方法 9.9 得到的经验教训 9.10 小结 第10章 虚拟存储器 10.1 物理和虚拟寻址 10.2 地址空间 10.3 虚拟存储器作为缓存的工具 10.4 虚拟存储器作为存储器管理的工具 10.5 虚拟存储器作为存储器保护的工具 10.6 地址翻译 10.7 案例研究:pentium/linux存储器系统, 10.8 存储器映射 10.9 动态存储器分配 10.10 垃圾收集 10.11 c程序中常见的与存储器有关的错误 10.12 扼要重述一些有关虚拟存储器的关键概念 10.13 小结 第3部分 程序间的交互和通信 第11章 系统级i/o 11.1 unix i/o 11.2 打开和关闭文件 11.3 读和写文件 11.4 用rio包进行健壮地读和写 11.5 读取文件元数据 11.6 共享文件 11.7 i/o重定向 11.8 标准i/o 11.9 综合:我该使用哪些i/o函数? 11.10 小结 第12章 网络编程 12.1 客户端-服务器编程模型 12.2 网络 12.3 全球ip因特网 12.4 套接字接口 12.5 web服务器 12.6 综合:tinyweb服务器 12.7 小结 第13章 并发编程 13.1 基于进程的并发编程 13.2 基于i/o多路复用的并发编程 13.3 基于线程的并发编程 13.4 多线程程序中的共享变量 13.5 用信号量同步线程 13.6 综合:基于预线程化的并发服务器 13.7 其他并发性问题 13.8 小结 附录a 处理器控制逻辑的hcl描述 a.1 hcl参考手册 a.2 seq a.3 seq+ a.4 pipe 附录b 错误处理 b.1 unix系统中的错误处理 b.2 错误处理封装函数 b.3 csapp.h头文件 b.4 csapp.c源文件 参考文献 索 引

2012-08-31

STL源码剖析.pdg

庖丁解牛(侯捷自序) i 目录 v 前言 xvii 本书定位 xvii 合适的读者 xviii 最佳阅读方式 xviii 我所选择的剖析对象 xix 各章主题 xx 编译工具 xx 中英术语的运用风格 xxi 英文术语采用原则 xxii 版面字形风格 xxiii 源码形式与下载 xxiv 在线服务 xxvi 推荐读物 xxvi 第1章 stl 概论与版本简介001 1.1 stl 概论 001 1.1.1 stl的历史 003 1.1.2 stl与c++ 标准程序库 003 . 1.2 stl 六大组件 - 功能与运用 004 1.3 gnu源码开放精神 007 1.4 hp stl实现版本 009 1.5 p.j. plauger stl实现版本 010 1.6 rouge wave stl实现版本 011 1.7 stlport 实现版本 012 1.8 sgi stl实现版本 总览 013 1.8.1 gnu c++ header 文件分布 014 1.8.2 sgi stl 文件分布与简介 016 stl 标准头文件(无扩展名) 017 c++ 标准规格定案前,hp规范的stl头文件(扩展名 .h) 017 sgi stl 内部文件(sgi stl真正实现于此) 018 1.8.3 sgi stl 的组态设定(configuration) 019 1.9可能令你困惑的c++ 语法 026 1.9.1 stl_config.h 中的各种组态 027 组态3:static template member 027 组态5:class template partial specialization 028 组态6:function template partial order 028 组态7:explicit function template arguments 029 组态8:member templates 029 组态10:default template argument depend on previous template parameters 030 组态11:non-type template parameters 031 组态:bound friend template function 032 组态:class template explicit specialization 034 1.9.2 临时对象的产生与运用 036 1.9.3 静态常数整数成员在class 内部直接初始化 037 in-class static const integral data member initialization 1.9.4 increment/decrement/dereference 运算子 037 1.9.5 "前闭后开"区间表示法 [ ) 039 1.9.6 function call运算子(operator()) 040 第2章 空间配置器(allocator) 043 2.1 空间配置器的标准接口 043 2.1.1 设计一个简单的空间配置器,jj::allocator 044 2.2 具备次配置力(sub-allocation)的sgi 空间配置器 047 2.2.1 sgi 标准的空间配置器,std::allocator 047 2.2.2 sgi 特殊的空间配置器,std::alloc 049 2.2.3 构造和析构基本工具:construct() 和 destroy() 051 2.2.4 空间的配置与释放,std::alloc 053 2.2.5 第一级配置器 __malloc_alloc_template 剖析 056 2.2.6 第二级配置器 __default_alloc_template剖析 059 2.2.7 空间配置函数allocate() 062 2.2.8 空间释放函数deallocate() 064 2.2.9 重新充填free-lists 065 2.2.10 内存池(memory pool) 066 2.3 内存基本处理工具 070 2.3.1 uninitialized_copy 070 2.3.2 uninitialized_fill 071 2.3.3 uninitialized_fill_n 071 第3章 迭代器(iterators)概念与 traits 编程技法 079 3.1 迭代器设计思维 - stl关键所在 079 3.2 迭代器是一种 smart pointer 080 3.3 迭代器相应型别(associated types) 084 3.4 traits 编程技法 - stl源码门钥 085 partial specialzation(偏特化)的意义 086 3.4.1 迭代器相应型别之一value_type 090 3.4.2 迭代器相应型别之二difference_type 090 3.4.3 迭代器相应型别之三pointer_type 091 3.4.4 迭代器相应型别之四reference_type 091 3.4.5 迭代器相应型别之五iterator_category 092 以advanced() 为例 093 消除 "单纯传递调用函数" 097 以distance() 为例 098 3.5 std::iterator class 的保证 099 3.6 iterator相关源码完整重列 101 3.7 sgi stl的私房菜:__type_traits 103 第4章 序列式容器(sequence containers) 113 4.1 容器概观与分类 113 4.1.1 序列式容器(sequence containers) 114 4.2 vector 115 4.2.1 vector 概述 115 4.2.2 vector 定义摘要 115 4.2.3 vector 的迭代器 117 4.2.4 vector 的数据结构 118 4.2.5 vector 的构造与内存管理:constructor, push_back 119 4.2.6 vector 的元素操作:pop_back, erase, clear, insert 123 4.3 list 128 4.3.1 list 概述 128 4.3.2 list 的节点(node) 129 4.3.3 list 的迭代器 129 4.3.4 list 的数据结构 131 4.3.5 list 的构造与内存管理:constructor, push_back, insert 132 4.3.6 list 的元素操作:push_front, push_back, erase, pop_front, 136 pop_back, clear, remove, unique, splice, merge, reverse, sort 4.4 deque 143 4.4.1 deque 概述 143 4.4.2 deque 的中控器 144 4.4.3 deque 的迭代器 146 4.4.4 deque 的数据结构 150 4.4.5 deque 的构造与内存管理 :ctor, push_back, push_front 152 4.4.6 deque 的元素操作:pop_back, pop_front, clear, erase, insert 161 4.5 stack 167 4.5.1 stack 概述 167 4.5.2 stack 定义式完整列表 167 4.5.3 stack 没有迭代器 168 4.5.4 以list 做为stack 的底层容器 168 4.6 queue 169 4.6.1 queue 概述 169 4.6.2 queue 定义式完整列表 170 4.6.3 queue 没有迭代器 171 4.6.4 以list 做为queue 的底层容器 171 4.7 heap(隐式表述,implicit representation) 172 4.7.1 heap 概述 172 4.7.2 heap 算法 174 push_heap 174 pop_heap 176 sort_heap 178 make_heap 180 4.7.3 heap 没有迭代器 181 4.7.4 heap 测试实例 181 4.8 priority-queue 183 4.8.1 priority-queue 概述 183 4.8.2 priority-queue 定义式完整列表 183 4.8.3 priority-queue 没有迭代器 185 4.8.4 priority-queue 测试实例 185 4.9 slist 186 4.9.1 slist 概述 186 4.9.2 slist 的节点 186 4.9.3 slist 的迭代器 188 4.9.4 slist 的数据结构 190 4.9.5 slist 的元素操作 191 第5章 关联式容器(associated containers) 197 5.1 树的导览 199 5.1.1 二元搜寻树(binary search tree) 200 5.1.2 平衡二元搜寻树(balanced binary search tree) 203 5.1.3 avl tree(adelson-velskii-landis tree) 203 5.1.4 单旋转(single rotation) 205 5.1.5 双旋转(double rotation) 206 5.2 rb-tree(红黑树) 208 5.2.1 插入节点 209 5.2.2 一个由上而下的程序 212 5.2.3 rb-tree 的节点设计 213 5.2.4 rb-tree 的迭代器 214 5.2.5 rb-tree 的数据结构 218 5.2.6 rb-tree 的构造与内存管理 221 5.2.7 rb-tree 的元素操作 223 元素插入动作 insert_equal 223 元素插入动作 insert_unique 224 真正的插入执行程序 __insert 224 调整rb-tree(旋转及改变颜色) 225 元素的搜寻 find 229 5.3 set 233 5.4 map 237 5.5 multiset 245 5.6 multimap 246 5.7 hashtable 247 5.7.1 hashtable 概述 247 线性探测(linear probing) 249 二次探测(quadratic probing) 251 分离链(separate chaining) 253 5.7.2 hashtable 的桶子(buckets)与节点(nodes) 253 5.7.3 hashtable 的迭代器 254 5.7.4 hashtable 的数据结构 256 5.7.5 hashtable 的构造与内存管理 258 插入动作(insert)与表格重整(resize) 259 判知元素的落脚处(bkt_num) 262 复制(copy_from)和整体删除(clear) 263 5.7.6 hashtable 运用实例(find, count) 264 5.7.7 hash functions 268 5.8 hash_set 270 5.9 hash_map 275 5.10 hash_multiset 279 5.11 hash_multimap 282 第6章 算法(algorithms) 285 6.1 算法概观 285 6.1.1 算法分析与复杂度表示 o( ) 286 6.1.2 stl算法总览 288 6.1.3 mutating algorithms - 会改变操作对象之值 291 6.1.4 nonmutating algorithms - 不改变操作对象之值 292 6.1.5 stl算法的一般形式 292 6.2 算法的泛化过程 294 6.3 数值算法 [stl_numeric.h] 298 6.3.1 运用实例 298 6.3.2 accumulate 299 6.3.3 adjacent_difference 300 6.3.4 inner_product 301 6.3.5 partial_sum 303 6.3.6 power 304 6.3.7 itoa 305 6.4 基本算法 [stl_algobase.h] 305 6.4.1 运用实例 305 6.4.2 equal 307 fill 308 fill_n 308 iter_swap 309 lexicographical_compare 310 max, min 312 mismatch 313 swap 314 6.4.3 copy,强化效率无所不用其极 314 6.4.4 copy_backward 326 6.5 set 相关算法(应用于有序区间) 328 6.5.1 set_union 331 6.5.2 set_intersection 333 6.5.3 set_difference 334 6.5.4 set_symmetric_difference 336 6.6 heap算法:make_heap, pop_heap, push_heap, sort_heap 338 6.7 其它算法 338 6.7.1 单纯的数据处理 338 adjacent_find 343 count 344 count_if 344 find 345 find_if 345 find_end 345 find_first_of 348 for_each 348 generate 349 generate_n 349 includes (应用于有序区间) 349 max_element 352 merge (应用于有序区间) 352 min_element 354 partition 354 remove 357 remove_copy 357 remove_if 357 remove_copy_if 358 replace 359 replace_copy 359 replace_if 359 replace_copy_if 360 reverse 360 reverse_copy 361 rotate 361 rotate_copy 365 search 365 search_n 366 swap_ranges 369 transform 369 unique 370 unique_copy 371 6.7.2 lower_bound (应用于有序区间) 375 6.7.3 upper_bound (应用于有序区间) 377 6.7.4 binary_search (应用于有序区间) 379 6.7.5 next_permutation 380 6.7.6 prev_permutation 382 6.7.7 random_shuffle 383 6.7.8 partial_sort / partial_sort_copy 386 6.7.9 sort 389 6.7.10 equal_range(应用于有序区间) 400 6.7.11 inplace_merge(应用于有序区间) 403 6.7.12 nth_element 409 6.7.13 merge sort 411 第7章 仿函数(functor,另名 函数对象function objects) 413 7.1 仿函数(functor)概观 413 7.2 可配接(adaptable)的关键 415 7.2.1 unary_function 416 7.2.2 binary_function 417 7.3 算术类(arithmetic)仿函数 418 plus, minus, multiplies, divides, modulus, negate, identity_element 7.4 关系类(relational)仿函数 420 equal_to, not_equal_to, greater, greater_equal, less, less_equal 7.5 逻辑运算类(logical)仿函数 422 logical_and, logical_or, logical_not 7.6 证同(identity)、选择(select)、投射(project) 423 identity, select1st, select2nd, project1st, project2nd 第8章 配接器(adapter) 425 8.1 配接器之概观与分类 425 8.1.1 应用于容器,container adapters 425 8.1.2 应用于迭代器,iterator adapters 425 运用实例 427 8.1.3 应用于仿函数,functor adapters 428 运用实例 429 8.2 container adapters 434 8.2.1 stack 434 8.2.2 queue 434 8.3 iterator adapters 435 8.3.1 insert iterators 435 8.3.2 reverse iterators 437 8.3.3 stream iterators (istream_iterator, ostream_iterator) 442 8.4 function adapters 448 8.4.1 对传回值进行逻辑否定:not1, not2 450 8.4.2 对参数进行系结(绑定):bind1st, bind2nd 451 8.4.3 用于函数合成:compose1, compose2(未纳入标准) 453 8.4.4 用于函数指针:ptr_fun 454 8.4.5 用于成员函数指针:mem_fun, mem_fun_ref 456 附录a 参考资料与推荐读物(bibliography) 461 附录b 侯捷网站简介 471 附录c stlport 的移植经验(by 孟岩) 473 borland c++builder 5 474 microsoft visual c++ 6.0 477 索引 481

2012-01-12

精通SQL--结构化查询语言详解

第1章 数据库与sql基础 1 1.1 数据库的基本概念 1 1.1.1 数据库的由来 1 1.1.2 数据库系统的概念 3 1.2 数据库系统的结构、组成及工作流程 3 1.2.1 数据库的体系结构 3 1.2.2 数据库系统的组成 4 1.2.3 数据库的工作流程 5 1.3 数据库的发展 6 1.3.1 第一代数据库 7 1.3.2 第二代数据库 7 1.3.3 新一代数据库技术的研究和发展 7 1.4 关系数据库 8 1.4.1 关系模型 8 1.4.2 codd十二法则 9 1.4.3 范式 10 1.5 sql语言基础 11 1.5.1 sql的历史 11 1.5.2 sql语言的组成 12 1.5.3 sql语句的结构 13 .1.5.4 sql的优点 13 1.5.5 sql的执行 14 1.6 sql环境 15 1.6.1 环境 15 1.6.2 sql的层次结构 15 1.6.3 客户程序和服务程序系统 17 1.6.4 sql环境中对象的命名规则 18 第2章 主要的关系数据库与sql 21 2.1 sql server 21 2.1.1 sql server的结构 21 2.1.2 数据库访问标准化接口—odbc 22 2.1.3 使用查询分析器执行sql语句 22 2.2 transact-sql 24 2.2.1 transact-sql 概述 24 2.2.2 transact-sql的主要组成 25 2.2.3 transact-sql的一些重要命令 26 2.3 oracle数据库 29 2.3.1 oracle数据库软件组成 29 2.3.2 oracle数据库体系结构 29 2.3.3 oracle数据库系统结构 30 2.3.4 使用sql*plus执行sql语句 31 2.4 pl/sql简介 32 2.4.1 pl/sql的特点 32 2.4.2 pl/sql程序结构 33 第3章 创建、修改和删除表 37 3.1 表的基础知识 37 3.1.1 表的基本结构 37 3.1.2 表的种类 38 3.2 sql数据类型 39 3.2.1 字符型数据 39 3.2.2 数字型数据 40 3.2.3 日期数据类型 41 3.2.4 二进制数据类型 43 3.2.5 文本和图形数据类型 44 3.2.6 自定义数据类型 44 3.3 表的创建(create) 46 3.3.1 创建基本表 46 3.3.2 非空约束 47 3.3.3 default指定缺省值 49 3.4 表的修改 50 3.4.1 增加新列 50 3.4.2 删除列 51 3.4.3 修改列 53 3.5 表的删除与重命名 55 3.5.1 重命名表 55 3.5.2 删除表 56 3.6 创建、删除数据库 56 3.6.1 数据库的创建 56 3.6.2 sql server中数据库的创建 57 3.6.3 删除数据库 58 第4章 索引与视图的创建 61 4.1 索引的基础知识 61 4.1.1 索引的概念 61 4.1.2 索引的结构 61 4.2 索引的创建与销毁 63 4.2.1 基本创建语法 63 4.2.2 本章实例用到的实例表 64 4.2.3 创建简单的非簇索引 66 4.2.4 多字段非簇索引的创建 69 4.2.5 使用unique关键字创建惟一索引 70 4.2.6 使用clusterde关键字创建簇索引 71 4.2.7 索引的销毁 73 4.2.8 使用索引的几点原则 73 4.3 视图的基础知识 74 4.3.1 视图简介 74 4.3.2 视图的优缺点 74 4.4 视图的创建与销毁 75 4.4.1 基本创建语法 75 4.4.2 创建简单的视图 75 4.4.3 利用视图简化表的复杂连接 78 4.4.4 利用视图简化复杂查询 79 4.4.5 视图的销毁 81 4.4.6 使用视图的几点原则 82 第5章 简单的查询 83 5.1 查询的基本结构 83 5.1.1 select语句的结构 83 5.1.2 select语句的执行步骤 84 5.2 列的查询 84 5.2.1 本章用到的实例表 85 5.2.2 单列查询 85 5.2.3 使用distinct去除重复信息 86 5.2.4 多列查询 87 5.2.5 查询所有的列 88 5.3 排序查询结果 89 5.3.1 单列排序 89 5.3.2 多列排序 90 5.3.3 采用序号进行多列排序 91 5.3.4 反向排序 92 5.4 使用where子句定义搜索条件查询 93 5.4.1 where子句单条件查询 93 5.4.2 单值比较运算符 94 5.4.3 between运算符范围筛选 96 5.4.4 null值的判断 97 第6章 复杂搜索条件查询 99 6.1 本章用到的实例表 99 6.2 组合查询条件 100 6.2.1 and运算符 100 6.2.2 or运算符 101 6.2.3 and、or运算符的组合使用 103 6.3 in运算符 104 6.3.1 in运算符的使用 104 6.3.2 in运算符与or运算符 105 6.4 not运算符 106 6.4.1 使用not运算符 106 6.4.2 not运算符与[]运算符 108 6.5 使用like进行模糊查询 109 6.5.1 like运算符 109 6.5.2 “%”通配符 110 6.5.3 “_”通配符 112 6.5.4 “[]”通配符 114 6.5.5 使用escape定义转义符 115 第7章 连接符、数值运算与函数 117 7.1 本章实例用到的表 117 7.2 连接符 118 7.2.1 连接符的应用 118 7.2.2 使用别名 119 7.3 数值运算 121 7.3.1 数学运算符的种类 121 7.3.2 数学运算符的运用 122 7.3.3 使用cast表达式转换数据类型 123 7.3.4 使用case表达式 124 7.4 函数 126 7.4.1 有关函数的说明 126 7.4.2 字符处理函数 126 7.4.3 算术运算函数 131 7.4.4 日期时间函数 133 7.4.5 convert()函数转换日期、时间 136 第8章 聚合分析与分组 139 8.1 聚合分析的基本概念 139 8.1.1 聚合分析 139 8.1.2 聚合函数 139 8.2 聚合函数的应用 140 8.2.1 求和函数—sum() 140 8.2.2 计数函数—count() 140 8.2.3 最大/最小值函数—max()/min() 143 8.2.4 均值函数—avg() 145 8.2.5 聚合分析的重值处理 147 8.2.6 聚合函数的组合使用 148 8.3 组合查询 148 8.3.1 group by子句创建分组 149 8.3.2 group by子句根据多列组合行 150 8.3.3 rollup运算符和cube运算符 151 8.3.4 group by子句中的null值处理 153 8.3.5 having子句 153 8.3.6 having子句与where子句 154 8.3.7 select语句各查询子句总结 156 第9章 多表查询 157 9.1 本章用到的实例表 157 9.2 表的基本连接 158 9.2.1 连接表的目的 158 9.2.2 简单的二表连接 159 9.2.3 多表连接 161 9.2.4 使用表别名 162 9.2.5 采用join关键字建立连接 163 9.3 表的连接类型 163 9.3.1 自连接 163 9.3.2 自然连接(natural join) 166 9.3.3 内连接(inner join) 167 9.3.4 外连接(outer join) 170 9.3.5 交叉连接(cross join) 176 9.4 union与union join 177 9.4.1 关系的集合运算 177 9.4.2 union运算符 178 9.4.3 order by子句排序union运算结果 180 9.4.4 对多表进行union运算 181 9.4.5 union join 连接表 183 9.5 表连接的其他应用及注意问题 183 9.5.1 连接表进行聚合运算 183 9.5.2 多表连接的综合运用 185 9.5.3 多表连接注意事项 186 第10章 子查询 187 10.1 创建和使用返回单值的子查询 187 10.1.1 在多表查询中使用子查询 187 10.1.2 在子查询中使用聚合函数 188 10.2 创建和使用返回多行的子查询 190 10.2.1 in子查询 190 10.2.2 in子查询实现集合交和集合差运算 191 10.2.3 exists子查询 192 10.2.4 exists子查询实现两表交集 194 10.2.5 some/all子查询 195 10.2.6 unique子查询 197 10.3 相关子查询 198 10.3.1 使用in引入相关子查询 198 10.3.2 比较运算符引入相关子查询 200 10.3.3 在having子句中使用相关子查询 201 10.4 嵌套子查询 203 10.5 使用子查询创建视图 204 10.6 树查询 205 第11章 数据插入操作 209 11.1 插入单行记录 209 11.1.1 基本语法 209 11.1.2 整行插入 209 11.1.3 null值的插入 211 11.1.4 惟一值的插入 212 11.1.5 特定字段数据插入 213 11.1.6 通过视图插入行 214 11.2 插入多行记录 216 11.2.1 由values关键字引入多行数据插入 217 11.2.2 使用select语句插入值 217 11.3 表中数据的复制 220 11.3.1 基本语法 221 11.3.2 应用实例 221 11.4 从外部数据源导入、导出数据 222 11.4.1 access数据库数据的导出 223 11.4.2 access数据库数据的导入 225 11.4.3 sql server数据库数据导出 227 11.4.4 sql server数据库数据导入 230 第12章 数据的更新和删除 233 12.1 更新表中的数据 233 12.1.1 update语句的基本语法 233 12.1.2 update语句更新列值 234 12.1.3 利用子查询更新多行的值 237 12.1.4 依据外表值更新数据 238 12.1.5 分步更新表 239 12.2 删除表中的数据 240 12.2.1 delete语句基本语法 240 12.2.2 delete语句删除单行数据 240 12.2.3 delete语句删除多行数据 241 12.2.4 delete语句删除所有行 242 12.2.5 truncate table语句 242 12.3 通过视图更新表 243 12.3.1 可更新视图的约束 243 12.3.2 通过视图更新表数据 243 12.3.3 通过视图删除表数据 245 第13章 安全性控制 249 13.1 sql安全模式 249 13.1.1 授权id 249 13.1.2 sql的安全对象和权限 250 13.1.3 授权图 251 13.2 角色管理 251 13.2.1 create语句创建角色 252 13.2.2 drop语句删除角色 252 13.2.3 grant语句授予角色 252 13.2.4 revoke语句取消角色 253 13.3 权限管理 254 13.3.1 grant语句授予权限 254 13.3.2 revoke语句取消权限 255 13.3.3 select权限控制 256 13.3.4 insert权限控制 258 13.3.5 update权限控制 258 13.3.6 delete权限控制 259 13.4 sql server安全管理 260 13.4.1 sql server登录认证 260 13.4.2 sql server用户id的管理 261 13.4.3 sql server权限管理 263 13.4.4 sql server角色管理 266 13.5 oracle安全管理 268 13.5.1 oracle中用户、资源、概要文件、模式的概念 269 13.5.2 oracle中的用户管理 269 13.5.3 oracle中的资源管理 274 13.5.4 oracle中的权限管理 277 13.5.5 oracle中的角色管理 278 第14章 完整性控制 281 14.1 完整性约束简介 281 14.1.1 数据的完整性 281 14.1.2 完整性约束的类型 281 14.2 与表有关的约束 282 14.2.1 列约束与表约束的创建 282 14.2.2 not null(非空)约束 282 14.2.3 unique(惟一)约束 284 14.2.4 primary key(主键)约束 285 14.2.5 foreign key(外键)约束 287 14.2.6 check(校验)约束 289 14.3 深入探讨外键与完整性检查 290 14.3.1 引用完整性检查 290 14.3.2 match子句 291 14.3.3 更新、删除操作规则 293 14.4 域约束与断言 295 14.4.1 域与域约束 295 14.4.2 利用断言创建多表约束 296 14.5 sql server中的完整性控制 296 14.5.1 创建规则(rule) 297 14.5.2 规则的绑定与松绑 298 14.5.3 创建缺省值(default) 299 14.5.4 缺省值的绑定与松绑 300 第15章 存储过程与函数 303 15.1 sql中的存储过程与函数 303 15.2 sql server 中的流控制语句 304 15.2.1 begin…end语句 304 15.2.2 if…else语句 304 15.2.3 while、break和continue语句 304 15.2.4 declare语句 306 15.2.5 goto label语句 306 15.2.6 return语句 307 15.2.7 waitfor语句 307 15.2.8 print语句 308 15.2.9 注释 308 15.3 sql server中的存储过程和函数 308 15.3.1 系统存储过程 308 15.3.2 使用create procedure创建存储过程 309 15.3.3 使用execute语句调用存储过程 310 15.3.4 使用create function创建函数 312 15.3.5 使用enterprise manager创建存储过程和函数 315 15.3.6 修改和删除存储过程和函数 317 15.4 oracle中的流控制语句 319 15.4.1 条件语句 319 15.4.2 循环语句 320 15.4.3 标号和goto 322 15.5 oracle数据库中的存储过程 322 15.5.1 存储过程的创建与调用 322 15.5.2 oracle中存储过程和函数的管理 324 第16章 sql触发器 325 16.1 触发器的基本概念 325 16.1.1 触发器简介 325 16.1.2 触发器执行环境 325 16.2 sql server中的触发器 326 16.2.1 sql server触发器的种类 326 16.2.2 使用create trigger命令创建触发器 326 16.2.3 insert触发器 328 16.2.4 delete触发器 329 16.2.5 update触发器 330 16.2.6 instead of触发器 332 16.2.7 嵌套触发器 334 16.2.8 递归触发器 336 16.2.9 sql server中触发器的管理 338 16.3 oracle数据库中触发器的操作 340 16.3.1 oracle触发器类型 340 16.3.2 触发器的创建 341 16.3.3 创建系统触发器 342 16.3.4 触发器的触发次序和触发谓词的使用 343 16.3.5 oracle触发器的管理 346 第17章 sql中游标的使用 349 17.1 sql游标的基本概念 349 17.1.1 游标的概念 349 17.1.2 游标的作用及其应用 350 17.2 sql游标的使用 351 17.2.1 使用declare cursor语句创建游标 351 17.2.2 使用open/close语句打开/关闭游标 352 17.2.3 使用fetch语句检索数据 352 17.2.4 基于游标的定位delete语句 354 17.2.5 基于游标的定位update语句 356 17.3 sql server中游标的扩展 357 17.3.1 transact_sql扩展declare cursor语法 357 17.3.2 @@cursor_rows全局变量确定游标的行数 359 17.3.3 @@fetch_status全局变量检测fetch操作的状态 360 17.3.4 游标的关闭与释放 361 17.3.5 游标变量 362 17.3.6 使用系统过程管理游标 363 17.4 oracle中游标的使用 365 17.4.1 显式游标与隐式游标 365 17.4.2 游标的属性 366 17.4.3 %type、%rowtype定义记录变量 367 17.4.4 参数化游标 368 17.4.5 游标中的循环 369 17.4.6 游标变量 371 17.5 小结 372 第18章 事务控制与并发处理 373 18.1 sql事务控制 373 18.1.1 事务控制的引入 373 18.1.2 事务的特性 373 18.1.3 sql中与事务有关的语句 374 18.2 事务控制的具体实现 376 18.2.1 开始事务 376 18.2.2 set constraints语句设置约束的延期执行 377 18.2.3 终止事务 378 18.3 并发控制 380 18.3.1 并发操作的问题 381 18.3.2 事务隔离级别 382 18.3.3 set transaction设置事务属性 383 18.4 sql server中的并发事务控制 384 18.4.1 锁的分类 384 18.4.2 sql server中表级锁的使用 385 18.4.3 设置隔离级别实现并发控制 387 18.4.4 死锁及其预防 391 18.5 oracle中的并发事务控制 393 18.5.1 通过加锁避免写数据丢失 393 18.5.2 设置只读事务(read only) 394 18.5.3 oracle中的隔离级别 395 第19章 嵌入式sql 397 19.1 sql的调用 397 19.1.1 直接调用sql 397 19.1.2 嵌入式sql 398 19.1.3 sql调用层接口(cli) 399 19.2 嵌入式sql的使用 401 19.2.1 创建嵌入式sql语句 401 19.2.2 sql通信区 402 19.2.3 主变量 404 19.2.4 嵌入式sql中使用游标 406 19.3 检索、操作sql数据 407 19.3.1 不需要游标的sql dml操作 407 19.3.2 使用游标的sql dml操作 410 19.3.3 动态sql技术 412 19.4 sql server中嵌入式sql的编译运行 413 19.4.1 嵌入式sql代码 413 19.4.2 预编译文件 415 19.4.3 设置visual c++ 6.0连接 417 19.4.4 编译运行程序 419 19.5 oracle中嵌入式sql的编译运行 420 19.5.1 嵌入式sql代码 420 19.5.2 预编译文件 421 19.5.3 设置visual c++ 6.0编译环境 423 19.5.4 编译运行程序 424 附录a sql保留字 427 附录b 常用的sql命令 431 附录c 关于运行环境的说明 435 c.1 sql server 2000 435 c.1.1 直接访问 435 c.1.2 从企业管理器访问 436 c.2 oracle系统 436

2011-12-11

浮点计算编程原理、实现与应用

前言  第1章 引论   1.1 计算有什么用?    1.1.1 基础科学    1.1.2 应用科学    1.1.3 工程项目    1.1.4 日常生活   1.2 超高精度计算有什么用?   1.3 计算编程概述   1.4 一些缩写的解释 第1部分 原理与实现:通用仿真库  第2章 代码概述   2.1 基本内容   2.2 使用c++?    2.2.1 c还是c++?    2.2.2 c++与通用编程   2.3 c++代码的设计    2.3.1 使用模板    2.3.2 操作符重载 .   2.3.3 选择接口函数    2.3.4 参数传递    2.3.5 返回值处理    2.3.6 计算异常与诊断信息    2.3.7 内存布局   2.4 计算代码的测试    2.4.1 随机输入测试    2.4.2 特殊值测试    2.4.3 恒等式测试   2.5 代码的使用   2.6 伪码  第3章 通用整型运算   3.1 基本概念    3.1.1 记数法与数制    3.1.2 整型编码    3.1.3 编码位数换算   3.2 通用整型编码    3.2.1 数据定义    3.2.2 jype的选取   3.3 通用整型四则运算    3.3.1 加法    3.3.2 减法    3.3.3 乘法    3.3.4 除法   3.4 优化    3.4.1 加法    3.4.2 减法    3.4.3 乘法    3.4.4 除法   3.5 符号处理    3.5.1 原码,还是补码?    3.5.2 有符号通用整型的表示    3.5.3 符号操作   3.6 输入输出函数    3.6.1 输入函数    3.6.2 输出函数   3.7 代码使用  第4章 通用定点运算   4.1 基本概念    4.1.1 记数法    4.1.2 误差    4.1.3 舍入    4.1.4 有效数字   4.2 通用定点数编码    4.2.1 数据定义    4.2.2 符号处理   4.3 四则运算    4.3.1 加法和减法    4.3.2 乘法    4.3.3 除法   4.4 辅助操作   4.5 代码使用:计算派  第5章 浮点数与ieee浮点标准  第6章 通用浮点运算  第7章 通用基本函数库 第2部分 应用:x87fpu编程与vc6浮点库  第8章 x87fpu编程  第9章 编写自己的浮点库  第10章 如何反汇编代码  第11章 vc6浮点函数库  第12章 异常处理机制  第13章 浮点编程中的常见技巧 附录

2011-12-06

庖丁解牛:纵向切入ASP.NET 3.5控件和组件开发技术

第1章 服务器控件概述及开发环境部署 .1 1.1 自定义服务器控件 1 1.2 服务器控件在软件开发过程中的作用 1 1.3 在控件开发中提升自己 2 1.4 可继承控件基类介绍 2 1.5 运行一个简单的控件 7 1.5.1 开发一个简单控件 7 1.5.2 部署和运行 11 1.6 控件生命周期 12 1.6.1 概述 12 1.6.2 用代码跟踪控件生命周期过程 14 1.7 本章总结 17 第2章 服务器控件开发中的调试技术 18 2.1 预置代码示例 18 2.2 调试页面服务端代码 19 2.3 服务器控件的调试 20 2.3.1 运行模式下的调试方法 20 2.3.2 设计模式下的调试方法 20 2.4 javascript脚本调试方法 22 2.4.1 调试页面中的javascript脚本(方法一) 22 .2.4.2 调试页面中的javascript脚本(方法二) 23 2.4.3 调试非嵌入式javascript脚本文件 23 2.4.4 调试嵌入式javascript脚本资源文件 24 2.4.5 高效率调试的技巧 24 2.5 ajax library对javascript调试支持 26 2.6 本章总结 26 第3章 从零开始开发服务器控件 27 3.1 选择基类 27 3.2 控件呈现顺序 28 3.3 render呈现控件的几种方式 30 3.3.1 使用htmltextwriter类输出 30 3.3.2 直接输出html标签 32 3.3.3 使用服务器控件的rendercontrol方法 33 3.4 addattributestorender方法 34 3.5 createchildcontrols方法 35 3.6 inamingcontainer接口 36 3.7 实现复合控件 38 3.7.1 createchildcontrols方法 39 3.7.2 childcontrolscreated属性 39 3.7.3 ensurechildcontrols方法 39 3.7.4 recreatechildcontrols方法 39 3.7.5 controls属性 40 3.7.6 hascontrols方法 40 3.7.7 hasevents方法 40 3.7.8 findcontrol方法 41 3.7.9 实现复合控件示例 41 3.8 常用开发技巧 51 3.8.1 designmode属性 51 3.8.2 屏蔽基类控件中的属性 52 3.8.3 page.request.browser属性 53 3.8.4 设置控件id规范 53 3.8.5 增强findcontrol功能 54 3.8.6 映射服务端控件值到客户端 55 3.8.7 禁止派生自compositecontrol的控件创建子控件 56 3.8.8 使用createchildcontrols的注意事项 56 3.8.9 不要误解设计元属性defaultvalue 57 3.8.10 在render方法中利用基类资源 57 3.8.11 条件编译&条件属性 60 3.9 本章总结 61 第4章 服务器控件属性 62 4.1 控件属性的作用 62 4.1.1 系统属性 62 4.1.2 自定义属性 62 4.2 简单属性 63 4.3 属性的设计时特性 64 4.4 复杂属性 67 4.4.1 概述 67 4.4.2 复杂属性的几种标记形式 67 4.4.3 深入研究——复杂属性分析器 79 4.5 深入研究——定制自己的属性编辑器 85 4.5.1 系统属性编辑器 85 4.5.2 定制属性编辑器 91 4.6 类型转换器 126 4.6.1 系统类型转换器 126 4.6.2 定制自己的类型转换器 128 4.7 实现自定义属性 138 4.8 本章总结 145 第5章 事件和数据回发机制 146 5.1 控件事件和数据回发概述 146 5.1.1 事件及其意义 146 5.1.2 数据回发机制 147 5.2 事件和数据回发机制的实现 148 5.2.1 客户端回传事件接口ipostbackeventhandler 148 5.2.2 客户端回发/回调揭密 150 5.2.3 回传数据处理接口ipostbackdatahandler 153 5.2.4 正确处理继承基类中控件的事件 159 5.2.5 扩展kingtextbox控件功能(kingtextboxcanpostevent控件) 161 5.3 复合控件的事件处理机制

2011-11-26

组合数学及其算法

第一章 引论 1.1 组合数学研究的对象 1.2 组合问题典型实例 1.2.1 分派问题 1. 2.2 染色问题 1.2.3 幻方问题 1.2.4 36军官问题 1.2.5 中国邮路问题 习 题 第二章 排列与组合 2.1 两个基本计数原理 2.2 无重集的排列与组合 2.3 重集的排列与组合 2.4 排列生成算法 2.4.1 序数法 2.4.2 字典序法 2.4.3 轮转法 2.5 组合生成算法 .2.6 应用举例 习 题 第三章 容斥原理 3.1 引 言 3.2 容斥原理 3.3 几个重要公式 3.4 错位排列 3.5 有限制的排列 3.6 棋阵多项式 3.7 禁位排列 习 题 第四章 鸽巢原理 4.1 鸽巢原理 4. 2 鸽巢原理的推广形式 4. 3 ramsey数 4.4 ramsey数的性质 4.5 ramsey定理 习 题 第五章 母函数 5.1 母函数概念 5.2 幂级数型母函数 5.3 整数的拆分 5.4 ferrers图 5.5 指数型母函数 习 题 第六章 递归关系 6.1 引言 6.2 几个典型的递归关系.. 6.3 用母函数方法求解递归关系 6.4 常系数线性齐次递归关系的求解 6.5 常系数线性非齐次递归关系的求解 6.6 非常系数非线性递归关系的求解 6.7 差分表法 6.8 stirling数 习 题 第七章 polya定理 7.1 有限集的映射 7.2 群的基本概念 7.3 置换群 7.4 置换的奇偶性 7.5 置换群下的共轭类 7.6 burnside引理 7.7 polya定理 7.8 polya定理的母函数型式 7.9 不标号图的计数 习 题 第八章 图论基础 8.1 图的基本概念 8.2 同构图、完全图与二分图 8.3 通路、回路与图的连通性 8.4 euler图与hamilton图 8.5 割集与树 8.6 图的矩阵表示法 8.7 平面图、对偶图与色数 8.8 匹配理论 8.9 网络流 习 题 第九章 拉丁方与区组设计 9.1 引言 9.2 拉丁方 9.3 有限域 9.4 正交拉丁方的构造 9.5 完全区组设计 9.6 平衡不完全区组设计(bibd) 9.7 区组设计的构造 9.8 steiner三连系 9.9 hadamard矩阵 习 题 第十章 线性规划 10.1 lp问题引例 10.2 lp问题的一般形式 10.3 lp问题的标准型 10.4 可行域和最优可行解 10.5 单纯形法 10.6 单纯形表格法 10.7 两阶段法 10.8 对偶原理 10.9 对偶单纯形法 10.10 应用举例 习 题 第十一章 组合优化算法与计算的时间复杂度理论 11.1 dijkstra算法 11.2 floyd算法 11.3 kruskal算法 11.4 求最优树的破圈法和统观法 11.5 二分图中最大匹配与最佳匹配的算法 11.6 fleury算法 11.7 中国邮路问题及其算法 11.8 深度优先搜索法--dfs算法 11.9 项目网络与关键路径法 11.10 网络最大流算法 11.11 状态转移法 11.12 好算法、坏算法和np类问题 11.13 npc类问题 11.14 货郎问题的近似解 习 题... 参考文献

2011-10-14

算法导论(part2)

内容简介回到顶部↑本书深入浅出,全面地介绍了计算机算法。对每一个算法的分析既易于理解又十分有趣,并保持了数学严谨性。本书的设计目标全面,适用于多种用途。涵盖的内容有:算法在计算中的作用,概率分析和随机算法的介绍。本书专门讨论了线性规划,介绍了动态规划的两个应用,随机化和线性规划技术的近似算法等,还有有关递归求解、快速排序中用到的划分方法与期望线性时间顺序统计算法,以及对贪心算法元素的讨论。本书还介绍了对强连通子图算法正确性的证明,对哈密顿回路和子集求和问题的np完全性的证明等内容。全书提供了900多个练习题和思考题以及叙述较为详细的实例研究。. 本书内容丰富,对本科生的数据结构课程和研究生的算法课程都是很实用的教材。本书在读者的职业生涯中,也是一本案头的数学参考书或工程实践手册。 在有关算法的书中,有一些叙述非常严谨,但不够全面,另一些涉及了大量的题材,但又缺乏严谨性。《算法导论》将严谨性和全面性融为一体。.. 本书深入讨论各类算法,并着力使这些算法的设计和分析能为各个层次的读者接受。各章自成体系,可以作为独立的学习单元。算法以英语和伪代码的形式描述,具备初步程序设计经验的人就能看懂。说明和解释力求浅显易懂,不失深度和数学严谨性。 本书自第1版出版以来,已经成为世界范围内广泛使用的大学教材和专业人员的标准参考书。第2版增加了论述算法作用、概率分析与随机算法、线性规划等几章。同时,对第1版的几乎每一节都作了大量的修订。一项巧妙而又重要的修改是提前引入循环不变式,并在全书中用来证明算法的正确性。在不改变数学和分析重点的前提下,作者将许多数学基础知识从第一部分移到了附录中,并在开始部分加入了一些富有诱导性的题材。...

2010-10-02

算法导论(part1)

算法导论(重新上传part1) 内容简介回到顶部↑本书深入浅出,全面地介绍了计算机算法。对每一个算法的分析既易于理解又十分有趣,并保持了数学严谨性。本书的设计目标全面,适用于多种用途。涵盖的内容有:算法在计算中的作用,概率分析和随机算法的介绍。本书专门讨论了线性规划,介绍了动态规划的两个应用,随机化和线性规划技术的近似算法等,还有有关递归求解、快速排序中用到的划分方法与期望线性时间顺序统计算法,以及对贪心算法元素的讨论。本书还介绍了对强连通子图算法正确性的证明,对哈密顿回路和子集求和问题的np完全性的证明等内容。全书提供了900多个练习题和思考题以及叙述较为详细的实例研究。. 本书内容丰富,对本科生的数据结构课程和研究生的算法课程都是很实用的教材。本书在读者的职业生涯中,也是一本案头的数学参考书或工程实践手册。 在有关算法的书中,有一些叙述非常严谨,但不够全面,另一些涉及了大量的题材,但又缺乏严谨性。《算法导论》将严谨性和全面性融为一体。.. 本书深入讨论各类算法,并着力使这些算法的设计和分析能为各个层次的读者接受。各章自成体系,可以作为独立的学习单元。算法以英语和伪代码的形式描述,具备初步程序设计经验的人就能看懂。说明和解释力求浅显易懂,不失深度和数学严谨性。 本书自第1版出版以来,已经成为世界范围内广泛使用的大学教材和专业人员的标准参考书。第2版增加了论述算法作用、概率分析与随机算法、线性规划等几章。同时,对第1版的几乎每一节都作了大量的修订。一项巧妙而又重要的修改是提前引入循环不变式,并在全书中用来证明算法的正确性。在不改变数学和分析重点的前提下,作者将许多数学基础知识从第一部分移到了附录中,并在开始部分加入了一些富有诱导性的题材。...

2010-10-02

PL/0编译程序文本(C版本)

/* 编译和运行环境 * Visual C++6.0,Visual C++.net and Visual C++.net 2003 * WinNT,Win2000,WinXP and Win2003 * 2gcc version 3.3.2 20031022(Red Hat Linux 3.3.2-1) * Redhat Fedora core 1 * intel 32 platform * 使用方法: * 运行后输入pl/0源程序文件名称 * 回答是否输出虚拟机代码 * 回答是否输出名字表 * fa.tmp输出虚拟机代码 * fa1.tmp输出源文件及其各行对应的首地址 * fa2.tmp输出结果 * fas.tmp输出名字表 */ 等等

2010-09-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除