zoukankan      html  css  js  c++  java
  • 1209.2——直接插入排序算法

    #include <stdio.h>

    //直接插入排序 5,4,6,2,1

    //4 5 6

    //6

    void insertSort(int array[], int elementNum){

        int referenceNum = 0;//保存即将插入的那个值

        

        for (int i = 1; i < elementNum; i++) {

            referenceNum = array[i];

            

            int j = i - 1;

            //通过一个循环查找这个值应该插在哪个位置

            for (; j >= 0; j--) {

                if (array[j] > referenceNum) {

                    array[j+1] = array[j];

                } else{

                    //说明找到要插入的位置了

                    break;

                }

            }

            

            //1.根本就没有移动

            //2.已经移动过了

            if (j+1 != i) {

                //动过了

                array[j+1] = referenceNum;

            }

        }

    }

    int main(int argc, const char * argv[]) {

        int array[] = {5,4,6,2,1};

        

        insertSort(array, 5);

        

        for (int i = 0; i < 5; i++) {

            printf("%d ", array[i]);

        }

        printf(" ");

        return 0;

    }

  • 相关阅读:
    memcpy源代码
    XML总结
    javabean总结
    VC++注射过程
    八排序算法
    fscanf功能具体解释
    外行观察者模式
    Android 实现用户列表信息的功能,然后选择删除幻灯片删除功能
    WINHTTP的API接口说明
    poj 1698 Alice&#39;s Chance 拆点最大流
  • 原文地址:https://www.cnblogs.com/damonWq/p/5033034.html
Copyright © 2011-2022 走看看