插入排序思路就是:(采用从小到大排序,从大到小排序意思一样)
1:直接插入第一个元素。2:再插入第二个元素,并将第二个元素与之前的元素比较,如果比之前的元素小,则之前的元素向后移动一个位置。
3:再插入第三个元素,并将第三个元素与之前的元素比较,如果比之前的元素小,则之前的元素向后移动一个位置,直到比较到大于某个元素或到最前面的元素的位置为止。
实例1:简单实现,默认从小到大排序
/*************************************************************************
> File Name: insert_sort.cpp
> Author:
> Mail:
> Created Time: 2016年01月06日 星期三 22时31分28秒
************************************************************************/
#include <iostream>
#include <vector>
using namespace std;
void input_data(vector<int> & data)
{
cout << "输入的数据序列:";
int tmp;
while(cin >> tmp){
data.push_back(tmp);
}
}
void insert_sort(vector<int> & data)
{
int j;
for (int i = 1; i < data.size(); ++i){
int tmp = data[i];
for (j = i; j > 0 && tm