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