过了冒泡排序,接下来是简单的插入排序
1.算法伪码
基本上是玩牌的模式。
2.c++简略实现和测试
代码一样// InsertionSort.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
#include <vector>
using namespace std;
vector<int> A;
void InsertSort(vector<int>&A){
//set gard
if (A.size() < 3 )
{
return;
}
for (int j = 1; j < A.size(); j++)
{
int key = A[j];
int i ;
for (i = j - 1; i>-1 && key < A[i]; i--)
{
A[i + 1] = A[i];
}
A[i+1] = key;
}
}
void show(vector<int>&A){
for (auto it = A.begin(); it <A.end(); it++)
{
cout << *it << " ";
}
cout << endl;
}
int _tmain(int argc, _TCHAR* argv[])
{
A = { 49, 38, 65, 97, 76, 13, 27, 49 };
show(A);
InsertSort(A);
show(A);
return 0;
}
3.程序执行过程