写一个bubblesort例子:(VS2008)
#include "stdafx.h"
int cmp(int p,int q)
{
if(p > q)return 1;
else return -1;
}
int _tmain(int argc, _TCHAR* argv[])
{
int num[] = {7,5,6,8,120,1,-100,949,1980,0,77,44,31,80};
bubblesort(num,14,cmp);
int i;
for(i = 0;i < 14;i ++)
{
printf("%d ",num[i]);
}
return 0;
}
// stdafx.cpp : 只包括标准包含文件的源文件
// first.pch 将作为预编译头
// stdafx.obj 将包含预编译类型信息
#include "stdafx.h"
void bubblesort(int *a,int len,int (*f)(int,int))
{
int i,j;
int temp;
for(i = 0;i < len - 1;i ++)
{
for(j =0;j < len -1- i;j ++)
{
int c = (*f)(a[j],a[j+1]);
if(c > 0)
{
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
}
// TODO: 在 STDAFX.H 中
// 引用任何所需的附加头文件,而不是在此文件中引用
注意利用vs时,那个头文件里还要声明这个函数才行哦,犯了这个低级错误了,另外参数要对应,哈哈