冒泡排序,代码来自CSDN,本人稍作修改可以看到排序过程。由于考研时间比较紧张,有空再回来补说明(着急了也可以去看看人家的原文,原文链接)
#include
#include
//冒泡排序
void BubbleSort(int a[], int len)
{
int i, j, temp;
for (j = 0; j < len - 1; j++)
{
for (i = 0; i < len - 1 - j; i++)
if (a[i] > a[i + 1])
{
temp = a[i];
a[i] = a[i + 1];
a[i + 1] = temp;
}
printf("第%d次\t",j);
for (i = 0; i < len; i++)
{
printf("%d ", a[i]);
}
printf("\n");
}
}
int main()
{
int arr[] = { 5, 8, 6, 3, 9, 2, 1, 7 };
int len = sizeof(arr) / sizeof(arr[0]);
int i = 0;
printf("排序前:");
for (i = 0; i < len; i++)
{
printf("%d ", arr[i]);
}
printf("\n");
printf("-----------------------\n");
BubbleSort(arr, len);
printf("-----------------------\n");
printf("结果为:");
for (i = 0; i < len; i++)
{
printf("%d ", arr[i]);
}
printf("\n");
system("pause");
return 0;
}