/*
*文件:sort.c
*描述:举例使用选择排序和冒泡排序法
*/
#include <stdio.h>
/*
*函数:SelectSort()
*说明:实现数组元素的简单选择排序,参数为数组及元素个数
* 返回值为空
*/
void SelectSort(int r[],int n)
{
int i,j,min;
int temp = 0; //定义临时变量用于交换
for(i = 0;i < n-1;i ++) // 共需要n-1次的排序
{
min = i;
for(j = i+1;j < n;j ++)
{
if(r[j] < r[min])
{
min = j; // min为最小元素的下标
}
//按从小到大的顺序进行排序
if(min != i)
{
temp = r[min];
r[min] = r[i];
r[i] = temp;
}
}
}
}
/*
*函数:BubleSort()
*说明:实现数组元素的冒泡排序,参数为数组及元素个数
* 返回值为空
*/
void BubleSort(int r[],int n)
{
int i,j;
int temp = 0; //定义临时变量用于交换
for(i = 0;i < n-1;i ++)
{
for(j = 0;j < n-i-1;j ++)
{
//按从小到大的顺序进行排序
if(r[j] > r[j+1])
{
temp = r[j];
r[j] = r[j+1];
r[j+1] = temp;
}
}
}
}
/*
*函数:display()
*说明:打印数组元素
*/
void display(int r[],int n)
{
int i;
for(i = 0;i < n;i ++)
{
printf("%d ",r[i]);
}
printf("\n");
}
/*
*函数:main()
*说明:
*/
int main()
{
int a[5] = {3,6,21,8,1};
int b[5] = {3,124,657,1,67};
SelectSort(a,5);
display(a,5);
BubleSort(b,5);
display(b,5);
return 0;
*文件:sort.c
*描述:举例使用选择排序和冒泡排序法
*/
#include <stdio.h>
/*
*函数:SelectSort()
*说明:实现数组元素的简单选择排序,参数为数组及元素个数
* 返回值为空
*/
void SelectSort(int r[],int n)
{
int i,j,min;
int temp = 0; //定义临时变量用于交换
for(i = 0;i < n-1;i ++) // 共需要n-1次的排序
{
min = i;
for(j = i+1;j < n;j ++)
{
if(r[j] < r[min])
{
min = j; // min为最小元素的下标
}
//按从小到大的顺序进行排序
if(min != i)
{
temp = r[min];
r[min] = r[i];
r[i] = temp;
}
}
}
}
/*
*函数:BubleSort()
*说明:实现数组元素的冒泡排序,参数为数组及元素个数
* 返回值为空
*/
void BubleSort(int r[],int n)
{
int i,j;
int temp = 0; //定义临时变量用于交换
for(i = 0;i < n-1;i ++)
{
for(j = 0;j < n-i-1;j ++)
{
//按从小到大的顺序进行排序
if(r[j] > r[j+1])
{
temp = r[j];
r[j] = r[j+1];
r[j+1] = temp;
}
}
}
}
/*
*函数:display()
*说明:打印数组元素
*/
void display(int r[],int n)
{
int i;
for(i = 0;i < n;i ++)
{
printf("%d ",r[i]);
}
printf("\n");
}
/*
*函数:main()
*说明:
*/
int main()
{
int a[5] = {3,6,21,8,1};
int b[5] = {3,124,657,1,67};
SelectSort(a,5);
display(a,5);
BubleSort(b,5);
display(b,5);
return 0;
}