经典C语言编程 冒泡排序
#include <stdio.h>
#include <stdlib.h>
void Sort_ProcOneSort( int *pizData, int iNo)
{
int iIndex ;
int iMaxNum;
for ( iIndex = 0 ; iIndex < iNo; iIndex++)
{
if ( pizData[iIndex] > pizData[iIndex+1 ])
{
iMaxNum = pizData[iIndex];
pizData[iIndex] = pizData[iIndex + 1 ];
pizData[iIndex + 1 ] = iMaxNum;
}
}
return ;
}
void Sort_procSortArray( int *pizData, int ilenofData)
{
int iLength = ilenofData;
int iMaxNum;
int ifristNum, isecondNum;
int iCount = 0 ;
for ( ifristNum = iLength - 1 ; ifristNum > 0 ; ifristNum --)
{
Sort_ProcOneSort(pizData, ifristNum);
}
return ;
}
void Sort_displayArray(int *pizData, int ilenofData)
{
int iLength = ilenofData;
int iIndex;
for (iIndex = 0 ; iIndex < iLength; iIndex++)
{
printf ("[%d] " , pizData[iIndex]);
}
printf ("\n" );
return ;
}
int main(void )
{
int izData[10 ] = { 1 ,2 ,3 ,7 ,8 ,9 ,4 ,5 ,6 ,0 };
int ilenofData = sizeof (izData) / sizeof (int );
Sort_procSortArray(izData, ilenofData);
Sort_displayArray(izData, ilenofData);
return 0 ;
}