排序算法3--插入排序

 
template <class T>
void insertion_sort(T *Array, int Size, bool Ascending = true)
{
    assert(Array 
!= NULL);
    assert(Size 
>= 2);
    
    
int i, temp;

    
if (Ascending)
    
{
        
for (i = 1; i < Size; i++)
        
{
            temp 
= Array[i];
            
while (temp < Array[i-1&& i > 0)
            
{
                Array[i] 
= Array[i-1];
                i
--;
            }

            Array[i] 
= temp;
        }

    }

    
else
    
{
        
for (i = 1; i < Size; i++)
        
{
            temp 
= Array[i];
            
while (temp > Array[i-1&& i > 0)
            
{
                Array[i] 
= Array[i-1];
                i
--;
            }

            Array[i] 
= temp;
        }

    }

}
阅读更多
文章标签: 算法 class null
个人分类: 数据结构及算法
上一篇排序算法2--冒泡排序
下一篇排序算法4--归并排序
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭