天天看点

知识点五:插入排序

知识点:

插入排序

1、 插入排序的基本思想是:每步将一个待排序的记录,按其关键码值的大小插入前面已经排序的文件中适当位置上,直到全部插入完为止。

2、 算法适用于少量数据的排序,时间复杂度为O(n^2),稳定的排序方法

题目分析: 普通输入一串数字,进行排序

题解代码:

// acm1.cpp: 定义控制台应用程序的入口点。

//

#include"stdafx.h"

#include"stdafx.h"

#include<iostream>

usingnamespace std;

void InsertSort(inta[], intn)

{

    for (int j = 1; j < n; j++)

    {

         int key = a[j];

         int i = j - 1; 

         while (i >= 0&& key < a[i])

         {

             a[i + 1] = a[i];

             i--;

         }

         a[i + 1] = key;

    }

}

int main() {

    int d[11],i;

    for (i = 0; i < 10;i++) {

         cin>> d[i];

    }

    InsertSort(d,10);

    cout<<"排序后结果:";

    for (int i = 0; i < 7;i++)

    {

         cout<< d[i] <<" ";

    }

    system("pause");

    return 0;

}