`
lovnet
  • 浏览: 6878868 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

《多任务下的数据结构与算法》一书的勘误

阅读更多

目前发现的错误如下,相信书中还有许多问题未被发现,请大家发现新的错误及时提出,我会尽快修正的。

1、P52页 第15行 原文“返回0表示在HOOK数组中的序号” 修改后为“成功时返回在HOOK数组中的序号

2、P53页 第15行 原文“返回0表示在HOOK数组中的序号” 修改后为“成功时返回在HOOK数组中的序号

3、P164,P165页的Xcopy()函数代码有误,正确代码如下:

/**将一个目录及子目录下的所有文件复制到另外一个目录下

@paramchar *pszSrcDir - 要拷贝的源目录
@paramchar *pszTargeDir - 目标目录
@paramBOOL bOverWrite - 覆盖标志,FALSE表示覆盖
@returnvoid - 无
*/
void Xcopy( char *pszSrcDir, char *pszTargeDir, BOOL bOverWrite )
{
charlBaseSearch[MAX_PATH];
HANDLElhFile;
WIN32_FIND_DATAlfData;

sprintf( lBaseSearch, "%s\\*.*", pszSrcDir );
lhFile = FindFirstFile( lBaseSearch, &lfData );
if ( lhFile == INVALID_HANDLE_VALUE ) {
return;
}
do {
CreateDirectory( pszTargeDir, NULL );
if (!strcmp( lfData.cFileName, "." ) ||
!strcmp( lfData.cFileName, ".." )) {
/* 跳过 . and .. 不处理 */
continue;
}
if ( lfData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY ) {
/* 目录 */
charszBaseDir[MAX_PATH];
charszTargeDir[MAX_PATH];

sprintf( szBaseDir, "%s\\%s", pszSrcDir, lfData.cFileName );
sprintf( szTargeDir, "%s\\%s", pszTargeDir, lfData.cFileName );
Xcopy( szBaseDir, szTargeDir, bOverWrite );
}
else {
/* 普通文件 */
charszBaseDir[MAX_PATH];
charszTargeDir[MAX_PATH];

sprintf( szBaseDir, "%s\\%s", pszSrcDir, lfData.cFileName );
sprintf( szTargeDir, "%s\\%s", pszTargeDir, lfData.cFileName );

CopyFile( szBaseDir, szTargeDir, bOverWrite );
}
} while ( FindNextFile( lhFile, &lfData ));
FindClose( lhFile );
}

4、P335页 第13行 原文“发送操作会阻塞在哪里? 修改后为 “发送操作会阻塞在那里。

5、P203页 第22~29行 原文如下:

if ( pDelNode == pANode->pLeft )
{
pANode->nMagic -= 1;
}
else
{
pANode->nMagic += 1;
}
需要将这段代码移到P203页第9行和第10行之间,修改后的第9~21行代码为:

pNode->pData = pDelNode->pData;
if ( pDelNode == pANode->pLeft )
{
pANode->nMagic -= 1;
}
else
{
pANode->nMagic += 1;
}
if (pDelNode != pNode->pLeft)
{
pANode->pRight = pDelNode->pLeft;
}

6、P265页 倒数第7行 原文 "while (pCursor == NULL)"
需要在倒数第8行和倒数第7行之间插入以下两行代码:
if ( pCursor == NULL )
{
P266页第11行 原文“pData = pCursor->pData;”
需要在第10行和11行间插入一个右大括号 “}”

7P343页倒数第12原文 “for (i = 0; i < uSpaceCount; i++)”

改为: “for (i = 0; i < uSpaceCount - 1; i++)”

P343页倒数第5原文“ pNode->pNext = NULL;”
需要在倒数第5行后面插入一行 “pNode->uPos = uPos;”
8P3416原文 “UINT uHead;”
需要在第16行后插入一行 “void *pData;”
P34倒数第12行,原文“if ( pBlock->uHead == pBlock->uTail )”
需要在倒数第12行前插入以下一行代码:
pData = pBlock->ppData[uHead];
P34页倒数第3原文 “return pBlock->ppData[uHead];”
改为:“return pData;”
9、光盘CAPI目录下的DeQueue.c 文件中第146行(DeQue_Destroy()函数里)
原文:“for ( i = pQue->pFirst->uMapPos; i <= pQue->pLast->uMapPos; i++)”
改为以下四行代码:
UINT uStart, uEnd;
uStart = pQue->pFirst->uMapPos;
uEnd = pQue->pLast->uMapPos;
for ( i = uStart; i <= uEnd; i++)
10、光盘中CAPI目录下的DSpaceList.c文件中 (书中这段代码与光盘不一致,以光盘为准)
文件的第141行 原文pDSNode->uInListFlag = DSPACENODE_NOT_IN_LIST;”
需要在第140行和141行之间插入以下代码:
else
{
pList->pTail = NULL;
}
253原文 “if ( pDSNode->pSpList->uFreeCount == pList->uDataCount”
改为: “if ( pDSNode->pSpList->uFreeCount == pList->uDataCount - 1”
262行 原文 “/* 从双向链表中删除此节点 */”
需要在262行前插入以下两行代码
if ( pDSNode->uInListFlag == DSPACENODE_IN_LIST )
{
270行 原文“ if ( pList->pHead = pDSNode )”
改为: “if ( pList->pHead == pDSNode )”
278行 原文 “/* pDSNode加入到pEmpty为头节点的未使用链表中 */”
需在第278行前插入一个右大括号作为一行 “}”
11P111页倒数第9 原文 “memcpy(pNode->pData, pData, uDataLen);”
需要在倒数第9行前插入以下一行代码:
pNode->pData = (void *)((char *)pNode + sizeof(SINGLENODE));
12、光盘CAPI目录下的Queue.c 文件中第72行(Queue_Destroy()函数里)
原文: "if ( pQueue->uHead < pQueue->uTail )"
修改为:"if ( pQueue->uHead > pQueue->uTail )"

13
14、P8页倒数第6行,原文“sizeof(pszMsg)”,改为:“MSG_COUNT”
、光盘CAPI目录下的DeQue.c 文件中第57行(DeQueBlock_Destroy()函数里)
原文: "if ( pQueue->uHead < pQueue->uTail )"
修改:"if ( pQueue->uHead > pQueue->uTail )"
分享到:
评论

相关推荐

    经典的数据结构与算法分析in C书+课后题答案+书中源代码+勘误表

    经典数据结构与算法分析in C书+课后题答案+书中源代码+勘误表数据结构与算法分析in C书+课后题答案+书中源代码+勘误表数据结构与算法分析in C书+课后题答案+书中源代码+勘误表数据结构与算法分析in C书+课后题答案+...

    数据结构与算法分析(in C 维斯)的详细勘误

    中英文逐字句对照着看的,看得很仔细,书很经典,很有深度,可惜翻译垃圾,大的错误非常非常多,小错误和翻译蹩脚的地方不计其数(可以说每页都有,平均每页4 5处不嫌多),所以只能每章挑几页列出来,供预览,如果...

    北大版《数据结构与算法》相关考研资料

    这份北大版的考研资料集包含了多个方面的学习资源,旨在帮助考生深入理解和掌握数据结构和算法的基础理论以及实践应用。 首先,"程序要求.doc"可能是对考生在编程实践中运用数据结构和算法的具体规范和要求,可能...

    数据结构与算法分析英文版

    Shaffer教授撰写的一本关于数据结构与算法分析的教科书,名为《Data Structures and Algorithm Analysis Edition 3.2 (C++ Version)》。书籍的第三版第2次更新发布于2013年3月28日,是针对C++语言的版本。文档内容...

    数据结构高分勘误打印表

    9. **数据结构与算法的实践应用**:例如第(30)条关于递归次数的修正,表明递归算法的性质与数据的初始排列无关。 10. **错误处理**:勘误表显示了在编写程序或文档时,语法、逻辑和概念性错误的常见性,强调了细心...

    数据结构C++勘误

    数据结构(C++语言版)第三版_邓俊辉,数据结构C++勘误。

    2019王道考研数据结构勘误

    ### 2019年王道考研数据结构勘误知识点详解 #### 一、概述 在准备考研的过程中,选择合适的复习资料至关重要。其中,《2019王道考研数据结构》作为一本广受好评的数据结构教材,对于考生来说是不可或缺的学习资源...

    算法图解勘误

    快速排序算法是另一种排序算法,它在平均情况下的时间复杂度为O(nlogn)。需要注意的是,原书中提到的快速排序讨论实际上出现在第四章而不是第三章。作者还提到一个关于快速排序的错误,他提到对于80x80的网格,但他...

    数据结构原理与经典问题求解(源代码) + 勘误表

    总的来说,"数据结构原理与经典问题求解"这本书,配合源代码和勘误表,为学习者提供了一个全面了解和掌握数据结构及其应用的平台。无论你是初学者还是经验丰富的程序员,都可以从中受益,提升自己的编程和问题解决...

    22版数据结构勘误.pdf

    22版数据结构勘误.pdf

    C++数据结构原理与经典问题求解+勘误表

    《C++数据结构原理与经典问题求解》是一本深入探讨C++编程中数据结构理论与实践的权威著作。本书由左飞编写,旨在帮助读者理解数据结构的基础知识,并掌握如何利用C++来实现和解决实际问题。数据结构是计算机科学中...

    C++数据结构原理与经典问题求解(勘误表)

    《C++数据结构原理与经典问题求解》的勘误表提供了一系列重要的修正,涉及文本表述、图形错误以及算法命名等多个方面。这些修正对于确保书籍内容的准确性、一致性和完整性至关重要,同时也体现了作者及出版社对学术...

    数据结构与问题求解_源代码.rar

    这个压缩包“数据结构与问题求解_源代码.rar”很可能包含了不同数据结构(如数组、链表、栈、队列、树、图等)和算法(如排序、搜索、图遍历等)的实现,可能用C、C++、Java或Python等编程语言编写。 数据结构是...

    数值计算方法与算法 第二版 勘误表 2012.1

    《数值计算方法与算法》是一本系统介绍数值分析领域的教材,涵盖了多项数值计算技术及其应用。本书第二版由科学出版社出版,为了进一步提高书籍的质量与准确性,作者团队发布了一张详细的勘误表。这份勘误表主要纠正...

    妙趣横生的算法(C语言实现)勘误表

    在C语言中,链表是一种常用的数据结构,它由一系列节点组成,每个节点包含数据部分和指向下一个节点的指针。此段代码实现了删除链表中指定节点的功能。原代码中有一处逻辑错误:`if(q==list)`的比较方式是错误的。...

    2020版王道图书勘误表.pdf

    根据提供的文件信息,我们可以提取到关于《数据结构》、《计算机组成原理》、《操作系统》和《计算机网络》这些计算机科学与技术核心科目的知识点,并对勘误信息进行梳理,以此来深化我们对这些科目的理解。...

    数据结构习题解析唐发根

    数据结构是计算机专业中的核心基础课程之一,其内容主要包括数据结构的基本概念、逻辑结构、存储结构以及数据运算(算法)的介绍。该课程还涉及算法的时间复杂度、空间复杂度等性能分析。通过该课程的学习,学生将...

    数据结构勘误表202108111

    这份勘误表主要针对《数据结构:抽象建模、实现与应用》这本书中的一些错误进行了修正,涵盖了线性表、栈、队列、树、二叉树和图等多个数据结构的相关算法和描述。以下是各章节具体修改内容的详细说明: **第二章 ...

    数据结构 严蔚敏版ptf+随书资料

    严蔚敏教授是中国计算机科学领域的知名学者,她的《数据结构》一书是该领域的重要教材,被广泛使用。这个压缩包包含的是严蔚敏版的《数据结构》教科书的PDF版本以及相关的学习资源。 首先,PTF格式是一种用于电子书...

Global site tag (gtag.js) - Google Analytics