商丘做網(wǎng)站公司新站seo快速收錄網(wǎng)頁內(nèi)容頁的方法如何制作公司網(wǎng)頁
當我們需要對一個很大的結構體進行排序時,因為正常的排序需要大量的交換,這就會造成時間復雜度的浪費
因此,我們引入指針,通過指針+臨時變量的方式來避免時間復雜度的浪費
間接排序-排序思路:通過開辟一個指針數(shù)組,儲存結構體的地址。再用插入排序的方法來更改地址存放在指針數(shù)組里的位置(即下標) 最后數(shù)組儲存地址指向的順序即是排序后的順序
物理排序-排序思路:通過“N個數(shù)字的排序由若干個獨立的環(huán)組成”——需要排列的數(shù)最后操作都是在若干個閉環(huán)中進行??
我們可以在每個閉環(huán)中建立一個臨時變量,儲存一個數(shù)據(jù),根據(jù)間接排序后的table與數(shù)組下標對齊來實現(xiàn)每個元素只移動一次的操作。最后閉環(huán)的元素即為tmp
說出來有點繞,舉個例子
下面的這個順序,我們用TMP儲存A[0]--f,
然后訪問A[3]--a,把A[3]放到A[0],同時table=0
再訪問A[1]--d,把A[5]放到A[1],同時table=1
重復上述操作
最后訪問到A[3],這時A[3]為空,且table!=3,把tmp放進去,操作結束
?