算法-排序-插入

来源:互联网 发布:js延迟执行函数 sleep 编辑:程序博客网 时间:2024/05/20 02:55
#include <vector>//插入排序//如果从小大排序//每次都将大的数后移,直到前面的数比那个要移动的数小为止//例子// 5 4 3 2 1//从小到大排列//5 4 3 2 1 -> 5 5 3 2 1 -> 4 5 3 2 1//这里要移动的数是4//4 5 3 2 1 -> 4 5 5 2 1 -> 4 4 5 2 1 -> 3 4 5 2 1//这里要移动的数是3//3 4 5 2 1 -> 3 4 5 5 1 -> 3 4 4 5 1 -> 3 3 4 5 1 -> 2 3 4 5 1//这里要移动的数是2//2 3 4 5 1 -> 2 3 4 5 5 -> 2 3 4 4 5 -> 2 3 3 4 5 -> 2 2 3 4 5 -> 1 2 3 4 5//这里要移动的数是1//最好情况 O( N )//最差情况 O( N*N )void Insertion_Sort( std::vector<int>& _rVec  ){//////int i;for( int j = 1; j != _rVec.size(); ++j ){int temp = _rVec[j];for( i = j; i >0 && temp<_rVec[i-1]; --i ){//_rVec[i] = _rVec[i-1];}_rVec[i] = temp;}}

原创粉丝点击