#define ret_ok 0
#define ret_err 1
#define ARRAY_SIZE 10
/*选择法排序*/
int Choice_Sort(int array[],int array_len)
{
int i = 0;
int j = 0;
int min = 0;
int iTemp = 0;
int iFlag = 0;
for(i=0;i<array_len-1;i++)
{
min = i;
for(j=i+1;j<array_len;j++)
{
if(array[min] < array[j])
min = j;
iTemp = array[i];
array[i] = array[min];
array[min] = iTemp;
}
}
return ret_ok;
}
/*冒泡法排序*/
int Bubble_Sort(int array[],int array_len)
{
int i = 0;
int j = 0;
int iTemp = 0;
/*外层循环代表循环的次数*/
for(i=1;i<array_len;i++)
{
/*代表前size-i个数据最值得冒泡*/
for(j=0;j<array_len-i;j++)
{
/*将最值后移*/
if(array[j] > array[j+1])
{
iTemp = array[j];
array[j] = array[j+1];
array[j+1] = iTemp;
}
}
}
return ret_ok;
}
/*带标记位的冒泡法排序*/
int Bubble_Sort_flag(int array[],int array_len)
{
int i = 0;
int j = 0;
int flag = 1;
int iTemp = 0;
/*外层循环代表循环的次数*/
for(i=1;i<array_len && flag == 1;i++)
{
flag = 0;
/*代表前size-i个数据最值得冒泡*/
for(j=0;j<array_len-i;j++)
{
/*将最值后移*/
if(array[j] > array[j+1])
{
flag = 1;
iTemp = array[j];
array[j] = array[j+1];
array[j+1] = iTemp;
}
}
}
return ret_ok;
}
int main(int argc,char argv[])
{
int i = 0;
int iArray[ARRAY_SIZE];
for( i=0;i<ARRAY_SIZE;i++ )
scanf("%d",&iArray[i]);
for(i=0;i<ARRAY_SIZE;i++)
{
printf("%d ",a[i]);
}
Choice_Sort(iArray,ARRAY_SIZE);
printf("选择法排序:\n");
for(i=0;i<ARRAY_SIZE;i++)
{
printf("%d ",a[i]);
}
Bubble_Sort(iArray,ARRAY_SIZE);
printf("冒泡法排序:\n");
for(i=0;i<ARRAY_SIZE;i++)
{
printf("%d ",a[i]);
}
return 0;
}
选择法和冒泡法排序接口
最新推荐文章于 2024-09-24 23:36:10 发布