下面給出一個排序算法,它屬于數(shù)據(jù)表類的成員函數(shù),其中currentSize是數(shù)據(jù)表實例的當前長度,Vector[ ] 是存放數(shù)據(jù)表元素的一維數(shù)組。 (1)該算法執(zhí)行什么功能? (2)針對一組輸入實例 {35, 67, 18, 29, 53, 44, 09, 21},畫出每一趟排序過程。
下面給出一個排序算法,它屬于數(shù)據(jù)表類的成員函數(shù),其中currentSize是數(shù)據(jù)表實例的當前長度,Vector[ ] 是存放數(shù)據(jù)表元素的一維數(shù)組。 (1)該算法執(zhí)行什么功能? (2)針對有n個數(shù)據(jù)對象的待排序的數(shù)據(jù)表,算法的排序碼比較次數(shù)和對象移動次數(shù)最好是多少?最壞是多少?
本題給出一個施加于鏈表的選擇排序的算法。算法中用到一個臨時的表頭結(jié)點 head,作為結(jié)果鏈表的表頭結(jié)點,每次從first鏈上摘下值最大的結(jié)點current鏈入 head之后。算法結(jié)束前,將 head刪除。 (1)請將缺失的語句部分補上; (2)設(shè)待排序的對象個數(shù) n = 7,當排序前各對象排序碼的初始鏈接順序為40, 20, 60, 30, 70, 50, 80,試根據(jù)上述算法,畫出每一趟排序時各結(jié)點指針的變化。