問答題

【簡(jiǎn)答題】一個(gè)線性表中的元素為正整數(shù)或負(fù)整數(shù)。設(shè)計(jì)算法將正整數(shù)和負(fù)整數(shù)分開,使線性表的前一半為負(fù)整數(shù),后一半為正整數(shù)。不要求對(duì)這些元素排序,但要求盡量減少比較次數(shù)。

答案:

本題的基本思想是:先設(shè)置好上、下界和軸值,然后分別從線性表兩端查找正數(shù)和負(fù)數(shù),找到后進(jìn)行交換,直到上下界相遇。算法如下:

題目列表

你可能感興趣的試題

問答題

【簡(jiǎn)答題】寫出快速排序的非遞歸調(diào)用算法。

答案: 先調(diào)用劃分函數(shù)Quickpass(劃分函數(shù)同教材),以確定中間位置,然后再借助棧分別對(duì)中間元素的左、右兩邊的區(qū)域進(jìn)行快速...
微信掃碼免費(fèi)搜題