1.冒泡法:
这是最原始,也是众所周知的最慢的算法了。他的名字的由来因为它的工作看来象是冒泡:
#include
void BubbleSort(int* pData,int Count)
{
int iTemp;
for(int i=1;i {
for(int j=Count-1;j>=i;j--)
{
if(pData[j] {
iTemp = pData[j-1];
pData[j-1] = pData[j];
pData[j] = iTemp;
}
}
}
}
2.交换法:
交换法的程序最清晰简单,每次用当前的元素一一的同其后的元素比较并交换。
#include
void ExchangeSort(int* pData,int Count)
{
int iTemp;
for(int i=0;i {
for(int j=i+1;j {
if(pData[j] {
iTemp = pData[i];
pData[i] = pData[j];
pData[j] = iTemp;
}
}
}
}
3.选择法:
现在我们终于可以看到一点希望:选择法,这种方法提高了一点性能(某些情况下)
这种方法类似我们人为的排序习惯:从数据中选择最小的同第一个值交换,在从省下的部分中
选择最小的与第二个交换,这样往复下去。
#include
void SelectSort(int* pData,int Count)
{
int iTemp;
int iPos;
for(int i=0;i {
iTemp = pData[i];
iPos = i;
for(int j=i+1;j {
if(pData[j] {
iTemp = pData[j];
iPos = j;
}
}
pData[iPos] = pData[i];
pData[i] = iTemp;
}
}
阅读(518) | 评论(0) | 转发(0) |