📄 bubble.c
字号:
#include <stdio.h>
//数组大小
#define N 10
//函数功能:双向冒泡从小到大排序
void main()
{
//要排序数组
int aiA[N];
int i;
int j;
int temp;
//交换标志,为零表示没有发生交换
int flag = 0;
printf("Pleae input the array :");
for( i = 0; i<N; i++ )
{
scanf("%d",&aiA[i]);
}
printf("\n");
//外层for循环控制趟数
for( i = 0; i<N/2; i++ )
{
//正方向排序
for( j = i; j<N-i-1; j++ )
{
//如果后面原素小于前面元素,则交换,置标志位flag为1
if(aiA[j+1]<aiA[j])
{
temp = aiA[j];
aiA[j] = aiA[j+1];
aiA[j+1] = temp;
flag = 1;
}
}
if(0 == flag)
{
break;
}
//负方向排序
while( j>i )
{
//如果后面原素小于前面元素,则交换,置标志位flag为1
if(aiA[j]<aiA[j-1])
{
temp = aiA[j];
aiA[j] = aiA[j-1];
aiA[j-1] = temp;
flag = 1;
}
j--;
}
if(0 == flag)
{
break;
}
}
//输出排序后的数组
for( i = 0; i<N; i++ )
{
printf("%d,",aiA[i]);
}
//printf("\n%d\n",n);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -