《多工下的資料結構與演算法》一書的勘誤

2021-04-08 15:51:56 字數 3219 閱讀 3800

目前發現的錯誤如下,相信書中還有許多問題未被發現,請大家發現新的錯誤及時提出,我會盡快修正的。

1、p52頁 第15行 原文「返回0表示在hook陣列中的序號」 修改後為「成功時返回在hook陣列中的序號」

2、p53頁 第15行 原文「返回0表示在hook陣列中的序號」 修改後為「成功時返回在hook陣列中的序號」

3、p164,p165頁的xcopy()函式**有誤,正確**如下:

/** 將乙個目錄及子目錄下的所有檔案複製到另外乙個目錄下

@param char *pszsrcdir - 要拷貝的源目錄 

@param char *psztargedir - 目標目錄 

@param bool boverwrite - 覆蓋標誌,false表示覆蓋 

@return void - 無 

*/void xcopy( char *pszsrcdir, char *psztargedir, bool boverwrite )

do if ( lfdata.dwfileattributes & file_attribute_directory )

else

} while ( findnextfile( lhfile, &lfdata ));

findclose( lhfile );

}4、p335頁 第13行 原文「傳送操作會阻塞在**?」

修改後為 「傳送操作會阻塞在那裡。」

5、p203頁 第22~29行 原文如下:

if ( pdelnode == panode->pleft )

else

需要將這段**移到p203頁第9行和第10行之間 ,修改後的第9~21行**為:

pnode->pdata = pdelnode->pdata;

if ( pdelnode == panode->pleft )

else

if (pdelnode != pnode->pleft)

6、 p265頁 倒數第7行 原文 "while (pcursor == null) "

需要在倒數第8行和倒數第7行之間插入以下兩行**:

if ( pcursor == null ) 」

7、

p343

頁倒數第12行

原文「for (i = 0; i < uspacecount; i++)」

改為:

「for (i = 0; i < uspacecount - 1; i++)」

p343

頁倒數第5行

原文 「 pnode->pnext = null;」

需要在倒數第

5行後面插入一行

「pnode->upos = upos;」 8

、 p34頁第

16行

原文 「uint uhead;」

需要在第

16行後插入一行

「void *pdata;」

p34頁

倒數第12

行,原文

「if ( pblock->uhead == pblock->utail )」

需要在倒數第

12pdata = pblock->ppdata[uhead];

p34頁倒數第3行

原文 「return pblock->ppdata[uhead];」

改為:

「return pdata;」 9

、光碟capi

目錄下的

dequeue.c

檔案中第

146行(

deque_destroy()

函式裡)

原文:  

改為以下四行**:

uint         ustart, uend;

for ( i = ustart; i <= uend; i++) 10

、光碟中

capi

目錄下的

dspacelist.c

檔案中 (書中這段**與光碟不一致,以光碟為準)

檔案的第

141行 原文

「pdsnode->uinlistflag = dspacenode_not_in_list;」

需要在第

140行和

141行之間插入以下**:

else

第253

行 原文

「if ( pdsnode->psplist->ufreecount == plist->udatacount」

改為:

「if ( pdsnode->psplist->ufreecount == plist->udatacount - 1」

第262

行 原文

「/*

從雙向鍊錶中刪除此節點

*/」

需要在262

行前插入以下兩行**

if ( pdsnode->uinlistflag == dspacenode_in_list ) 」

11

p111

頁倒數第

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 )"

《多工下的資料結構與演算法》一書的勘誤

目前發現的錯誤如下,相信書中還有許多問題未被發現,請大家發現新的錯誤及時提出,我會盡快修正的。1 p52頁 第15行 原文 返回0表示在hook陣列中的序號 修改後為 成功時返回在hook陣列中的序號 2 p53頁 第15行 原文 返回0表示在hook陣列中的序號 修改後為 成功時返回在hook陣列...

《多工下的資料結構與演算法》一書的勘誤

目前發現的錯誤如下,相信書中還有許多問題未被發現,請大家發現新的錯誤及時提出,我會盡快修正的。1 p52頁 第15行 原文 返回0表示在hook陣列中的序號 修改後為 成功時返回在hook陣列中的序號 2 p53頁 第15行 原文 返回0表示在hook陣列中的序號 修改後為 成功時返回在hook陣列...

《多工下的資料結構與演算法》一書的勘誤

目前發現的錯誤如下,相信書中還有許多問題未被發現,請大家發現新的錯誤及時提出,我會盡快修正的。1 p52頁 第15行 原文 返回0表示在hook陣列中的序號 修改後為 成功時返回在hook陣列中的序號 2 p53頁 第15行 原文 返回0表示在hook陣列中的序號 修改後為 成功時返回在hook陣列...