?? 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 + -