直接插入排序

插入排序

时间复杂度n2,

  • 假设给定数组(整型)第一个元素有序
  • 从第二个元素开始,与自己左边的第一个元素比较,如果比自己小,则不动;如果比自己大,就与自己左边的第二个元素比较;直到遇到不比自己大的元素,在其右边插入
  • 选取后面的元素,依次重复第二步
void InsertSort(){
    for(int i=2;i<=n;i++){
        r[0]=r[i];//监视梢 
        int j=i-1;
        while(r[0]<=r[j]){
            r[j+1]=r[j];
            j--;
        }
        r[j+1]=r[0];
    }
}

 

posted @ 2021-12-09 19:21  arvin。  阅读(25)  评论(0)    收藏  举报