遇到bug 初步觉得是指针指向出了问题
发现for循环赋值发生错误
改成while循环bug解除
#include<stdio.h>
void bubble_sort(int arr[],int sz)
{
//确定冒泡排序的趟数
int i = 0;
for (i = 0; i < sz - 1; i++)
{
int flag = 1;
int s = 0;
//每一趟冒泡排序的内容
while(s < sz-i-1)
{
if (arr[s] > arr[s + 1])
{
int tmp = arr[s];
arr[s] = arr[s + 1];
arr[s + 1] = tmp;
flag = 0;
}
s++;
}
if (flag == 1)
{
break;
}
}
}
int main()
{
int arr[] = { 9,8,7,6,5,4,3,2,1 };
int i = 0;
int sz = sizeof(arr)/sizeof(arr[0]);
bubble_sort(arr,sz);//冒泡排序
for (i = 0; i < sz; i++)
{
printf("%d ", arr[i]);
}
return 0;
}