sort.c(用C语言实现排序的实例)

/*
 *文件: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;

}



发布了61 篇原创文章 · 获赞 6 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/shayueqing/article/details/12610127