// InsertSort.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "iostream"
using namespace std;
// 说明:排序算法 - 插入排序,纸牌准则,将一个元素插入到已排序的序列中;
void InsertSort(double a[], int n)
{
for (int i=1; i<n; i++)
{
double dTemp = a[i];
int j = i;
// 注意应该与关键字比较;
for (j=i; j>0 && dTemp < a[j-1]; j--)
{
a[j] = a[j-1];
}
if (j != i)
{
a[j] = dTemp;
}
}
}
int _tmain(int argc, _TCHAR* argv[])
{
double a[] = {2.0, 5.4, 4.0, 8.0, 3.0, 5.0, 1.0, 9.0, 7.0};
int n = sizeof(a) / sizeof(*a);
cout<<"排序前:\n";
for each (double x in a)
{
cout<<x<<" ";
}
cout<<endl;
InsertSort(a, n);
cout<<"排序后:\n";
for each (double x in a)
{
cout<<x<<" ";
}
cout<<endl;
return 0;
}