問(wèn)答題
【簡(jiǎn)答題】一個(gè)線性表中的元素為正整數(shù)或負(fù)整數(shù)。設(shè)計(jì)算法將正整數(shù)和負(fù)整數(shù)分開(kāi),使線性表的前一半為負(fù)整數(shù),后一半為正整數(shù)。不要求對(duì)這些元素排序,但要求盡量減少比較次數(shù)。
答案:
本題的基本思想是:先設(shè)置好上、下界和軸值,然后分別從線性表兩端查找正數(shù)和負(fù)數(shù),找到后進(jìn)行交換,直到上下界相遇。算法如下:
