一、表排序
定义一个指针数组作为“表”(table)
如果仅要求按顺序输出,则输出:
A[table[0]], A[table[1]] , ....., A[table[N-1]]
N个数字的排列由若干个独立的环组成
Temp = f 如何判断一个环结束? if(table[i] = i)
二、复杂度分析
最好情况:初始即有序
最坏情况:
- 有[N/2]个环,每个环包含2个元素
- 需要[3N/2]次元素移动
T = O(mN), m是每个A元素的复制时间
定义一个指针数组作为“表”(table)
如果仅要求按顺序输出,则输出:
A[table[0]], A[table[1]] , ....., A[table[N-1]]
N个数字的排列由若干个独立的环组成
Temp = f 如何判断一个环结束? if(table[i] = i)
最好情况:初始即有序
最坏情况:
T = O(mN), m是每个A元素的复制时间