详解冒泡排序和对其优化的Shaker 排序(二)

2014-11-24 01:44:10 · 作者: · 浏览: 4
for(i = right; i > left; i--)
{
if(number[i] < number[i-1])
{
SWAP(number[i], number[i-1]);
offset = i;
}
}
left = offset;
// 向右边冒泡 是将最大值冒到左边
for(i = left; i < right; i++)
{
if(number[i] > number[i+1])
{
SWAP(number[i], number[i+1]);
offset = i;
}
}
right = offset;
}
printf("Sorted array is : ");
for(i = 0; i < MAX; i++)
printf("%d ", number[i]);
printf("\n");
}
int main()
{
int number[MAX], i;
srand(time(NULL));
printf("Original array is : ");
for(i = 0; i < MAX; i++)
{
number[i] = rand() % 100;
printf("%d ", number[i]);
}
printf("\n");
// Bubble(number);
UltimateBubbleSort(number);
system("pause");
return 0;
}