自学内容网 自学内容网

92.插入排序

一.什么是插入排序

把数据分为有序和无序俩个部分,将无序部分中的一个数据插入到已排好的有序部分中,有序部分从而变成一个新的、排好数据数量增1的有序数据,直到数据全部排序完成。

插入排序一般适用于小型数据。大型数据性能较差。

二.实现思路

从第二个元素开始,逐一遍历无序部分数据。把无序部分元素与有序元素逐一比较,找到插入位置。

找到插入位置后插入当前元素至正确位置,前序元素后移。重复上述步骤,直至数组全排序。

动画演示:

三.实验代码

#include <stdio.h>

void main(void)
{
    int data[10];
    int j,i,k;
    int temp;

    printf("Please input data:\n");

    for(i=0;i<10;i++){
        scanf("%d",&data[i]);
    }
    

    for(i=1;i<10;i++){
        
        k = data[i];
        j = i-1;
        while ((j>=0)&(data[j]>k))
        {
            data[j+1] = data[j];
            j--;
        }
        data[j+1] = k;
        

    }
    printf("**************************\n");
    for(i=0;i<10;i++){
       printf("%d\n",data[i]);
    }

}

四.视频教程

92.插入算法_哔哩哔哩_bilibili


原文地址:https://blog.csdn.net/2301_78343139/article/details/144251119

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!