数据结构和算法学习和理解 之 插入排序

来源:互联网 发布:造价师网络课程 编辑:程序博客网 时间:2024/05/21 21:41

数据结构和算法学习和理解 之 插入排序

插入排序需要理解的就是元素的比较是从index = 1 开始排序的。
int NormalArray[7] = {8,2,41,21,44,1,0};
第一次拿出的数是index = 1 也就是 NormalArray[index ] = 2;
用index和index - 1上的数作比较,如果条件a满足(Array[index] < Array[index -1]) ,则替换这两个,index自减1 再次运算。每次都是当前index和index - 1 比较,直到条件a不满足或者index == 0为止。然后后一位开始再次重复当前运算。

具体代码示例:

int main()
{

    int NormalArray[7] = {8,2,41,21,44,1,0};    int Length = sizeof(NormalArray) / sizeof(NormalArray[0]);    // 插入排序的算法    int j = 0;    for (int i = 1; i < Length; ++i)    {        int temp = NormalArray[i];        for (j = i; j > 0 && temp < NormalArray[j - 1]; --j)            NormalArray[j] = NormalArray[j - 1];        NormalArray[j] = temp;    }
// 输出for (int i =0; i < Length; ++i){    std::cout << NormalArray[i] << std::endl;}return 0;

}

0 0
原创粉丝点击