插入排序
第一个数字为排序基数,后边所有数字从前向后一次取出每一位数字,比排序数字小则插入到前边,比排序数字大则插入到后边
时间复杂度:O(n2)
空间复杂度:O(1)
原理:
从左至右循环,第一趟以索引为0的数字为基准数字,剩余数字与基准数字比较,比基准数字小插入数字前边,比基准数字大则插入基准数字后边
核心代码:
for(i=1;i<n;i++)
{
if(a[i] < a[i-1]) T temp = a[i];
for(j=i-1;j>=0&&a[j]>temp;j–)
{
a[j+1]=a[j];
}
a[j+1]=temp;
}