插入排序

一、理解

  像扑克那样,一张一张地摸牌然后排序。

二、算法流程(升序)

  (1)从第二张牌开始,将其取出,赋给一个临时变量temp

      将temp和前一个A[K]对比,若temp小于A[K],则将A[K]往后移动一位,再和A[K-1]对比...直到对比完第一位或者找到一个比temp小的数

      将temp赋给比它小的数的后面

三、代码

  

/*
插入排序法
*/
#include <iostream>
using namespace std;

int main()
{
    int A[6] = { 31, 41, 59, 26, 41, 58 };
    int j = 0;//j代表要对比的牌
    int temp=0;
    for (int i = 1; i <6; i++)//i代表摸的那张牌
    {
        temp = A[i];
        j = i - 1;
        while (temp < A[j]&&j>=0)
        {
            A[j+1] = A[j];
            j--;
        }
        A[j + 1] = temp;
    }
    for (int i = 0; i < 6; i++)
    {
        cout << A[i] << ",";
    }
    return 0;
}

 

  

posted on 2015-08-05 17:31  一动不动的葱头  阅读(227)  评论(0编辑  收藏  举报

导航