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

2021-04-14 07:55:50 字數 4382 閱讀 3225

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

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

需要在倒數第

12

pdata = 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 ) 」

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

修改

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

目前發現的錯誤如下,相信書中還有許多問題未被發現,請大家發現新的錯誤及時提出,我會盡快修正的。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陣列...