大神“123”的算法(不知道干啥的)
目录:程序员成长之旅/C语言/别人的源码
WizRtf2Html Charset=0 //插入式排序(需要排序的数组,数组大小)
template<typename T>
void Sort(T* Array, int Size)
{
int i = 0, m = 0, n = 0;//i:插入的数据在原数组中的位序, m:与之比较的已添加完的数据的位序, n:已添加完的数据的个数
T* temp = new T[Size];//用于插入的数组
while (i < Size)//依次进行插入
{
while (m < n && Array[i] < temp[m])//找到插入点
{
m++;
}
if (m == n)//已到达空位置
{
temp[m] = Array[i];//插入数据
}
else//将从与之比较的数据开始往后数据依次后移一位
{
int j = n;
while (j > m)
{
temp[j] = temp[j - 1];//将数据后移一位
j--;
}
temp[m] = Array[i];//插入数据
}
m = 0;
n++;
i++;
}
i = 0;
while (i < Size)//将整理好的数据写回原数组
{
Array[i] = temp[i];
i++;
}
delete temp;
}