// sf13.cpp : 定义控制台应用程序的入口点。
//
//*********************by vincent http://my.youkuaiyun.com/sunboyiris ************************//
#include "stdafx.h"
#include "time.h"
#include "iostream"
#include "algorithm"
#include "vector"
using namespace std;
#define MAX 100
void print(int x)
{
cout<<x<<" ";
}
int _tmain(int argc, _TCHAR* argv[])
{
srand(time(NULL));
vector<int> l,l1;
int k;
for(int i=0;i<MAX;i++)
{
k=rand()%100;
l.push_back(k);
}
l1=l;
for_each(l.begin(),l.end(),print);//输出序列元素
cout<<endl;
/******************堆排序***********************************/
make_heap(l.begin(),l.end());//创建堆
for_each(l.begin(),l.end(),print);
cout<<endl;
sort_heap(l.begin(),l.end());//堆排序
for_each(l.begin(),l.end(),print);
cout<<endl;
/********************sort排序**********************************/
sort(l1.begin(),l1.end());
for_each(l1.begin(),l1.end(),print);
cout<<endl;
/************************归并排序*****************************/
int size=l.size()+l1.size();
int iarray[200]={0};
merge(l.begin(),l.end(),l1.begin(),l1.end(),iarray);
for(int i=0;i<size;i++)
{
cout<<iarray[i]<<" ";
}
cout<<endl;
/******************************************************/
return 0;
}