题目 用选择排序法对一组数据由小到大进行排序,数据分别为526、36、2、369、56、45、78、92、125、52 1、程序分析选择排序的基本算法是从待排序的区间中经过选择和交换后选出最小的数组存放到a[0]中,再从剩余的排序区间中经过选择和交换后选出最小的数值存放到a[1]中,a[1]中的数字仅大于a[0],以此类推,即实现选择排序。 2、程序实现
/********************************************************
* Topic : 用选择排序法对一组数据由小到大进行排序,数据分别为
* 526、36、2、369、56、45、78、92、125、52
* File Name: Selection_sort
* Author : Jack Cui
* Created : 31 March 2016
* *********************************************************/
#include <stdio.h>
/*选择排序函数声明*/
int* Selection_sort(int* pDataArray,int iDataNum);
void main(void)
{
int i;
int iArray[10];
printf("请输入10个数:\n");
for(i = 0;i < 10;i++)
scanf("%d",&iArray[i]);
Selection_sort(iArray,10);
printf("快速排序后的顺序为:\n");
for(i = 0;i < 10;i++)
printf("%5d",iArray[i]);
printf("\n");
}
/**********************************
*函数名称:Selection_sort
*参数说明:pDataArray 无序数组
* iDataNum为无序数据个数
*说明: 快速排序
***********************************/
int* Selection_sort(int* pDataArray,int iDataNum)
{
int i,j,iDataTemp;
for(i = 0;i < 9;i++)
for(j = i + 1;j < 10;j++)
if(pDataArray[i] > pDataArray[j])
{
iDataTemp = pDataArray[i];
pDataArray[i] = pDataArray[j];
pDataArray[j] = iDataTemp;
}
return pDataArray;
}
3、结果显示(eclipse)