#include <stdio.h>
//冒泡排序
void BubbleSort(int array[],int n)
{
int i,j,temp,flag;
for(i=0;i<n - 1 ;i++) /*外循环控制排序的总趟数*/
{
flag = 0; /*本趟排序开始前,交换标志应为假*/
for(j=n-1;j > i;j--) /*内循环控制一趟排序的进行*/
{
if(array[j] < array[j-1] ) /*相邻元素进行比较,若逆序就交换*/
{
temp =array[j];
array[j] = array[j-1];
array[j-1] = temp;
flag = 1; /*发生了交换,故将交换标志置为真*/
}
}
if (flag == 0) /*本趟排序未发生交换,提前终止算法*/
break;
/*
printf("第%d趟排序结果: \n",i+1);
PrintArray(array,n);
*/
}
}
void main(){
int i;
int d[] = {1,3,2,5,3,6};
BubbleSort(d,6);
for(i=0;i<6;i++){
printf("%4d",d[i]);
}
printf("\n");
}
冒泡排序算法
最新推荐文章于 2024-11-09 18:28:42 发布