下面的程序是一個的兩路歸并算法merge,只需要一個附加存儲。設算法中參加歸并的兩個歸并段是A[left]~A[mid]和A[mid]~A[right],歸并后結果歸并段放在原地。 若A = { 12, 28, 35, 42, 67, 9, 31, 70 }, left = 0, mid = 4, right = 7。寫出每次執(zhí)行算法最外層循環(huán)后數(shù)組的變化,并給出每次執(zhí)行算法最外層循環(huán)時的數(shù)據記錄移動次數(shù)。
下面給出一個排序算法,它屬于數(shù)據表類的成員函數(shù),其中currentSize是數(shù)據表實例的當前長度,Vector[ ] 是存放數(shù)據表元素的一維數(shù)組。 (1)該算法的功能是什么? (2)給出待排序數(shù)據序列為 {10, 20, 30, 40, 50, 60} 和 {60, 50,40, 30, 20, 10},畫出每次執(zhí)行時的結果序列。
下面給出一個排序算法,它屬于數(shù)據表類的成員函數(shù),其中currentSize是數(shù)據表實例的當前長度,Vector[ ] 是存放數(shù)據表元素的一維數(shù)組。 (1)該算法的功能是什么? (2)以下面給出的待排序的數(shù)據序列為例,畫出每次遞歸執(zhí)行時的結果序列。 { 45 48 18 36 72 30 53 15 29 }