冒泡排序(转载等 要注明出处,谢谢!)

来源:互联网 发布:手机格式化后数据恢复 编辑:程序博客网 时间:2024/05/21 21:47
#include <stdio.h>
#include <stdlib.h>
#include <string>


void BubbleSort(int* pnData,int nLen)
{
int isOK=0;//设置排序是否成功的哨兵isOK;
int j,i,nTemp;
for(i=0;i <nLen-1&&!isOK;++i)
{
isOK=1;///排序成功
//从后往前比较吧最小的数放在第一位,然后再从后往前放到第二位,依次下去
for(j=nLen-1;j>i;--j)//数组中的元素是从a[nLen - 1]开始
{
if(pnData[j]<pnData[j-1])
{
nTemp = pnData[j];
pnData[j]=pnData[j-1];
pnData[j-1] = nTemp;
isOK=0;
}
}
}
}
int main()
{
int nData[8] = {49,38,65,97,76,13,27,49};
int i=0,len;
printf("排序前:\n");
for(i = 0;i <8;++i)
{
printf("%d ",nData[i]);
}
printf("\n");
BubbleSort(nData,8);
printf("排序后:\n");
for(i = 0;i <8;++i)
{
printf("%d ",nData[i]);
}
printf("\n");
return 0;
}
0 0
原创粉丝点击