数组形式
解题思路: 判断比较的躺数,每趟相邻的两个数再进行比较,应用两次 for 循环
void PrintArr(int* arr, int sz)
{
int i = 0;
for (i = 0; i < sz; i++)
{
printf("%d ", *(arr + i));
}
return 0;
}
void BubbleSort(int arr[],int sz)
{
int i = 0;
for (i = 0; i < sz - 1; i++)
{
int j = 0;
for (j = 0; j < sz - i - 1; j++)//用for循环的元素个数控住多少趟
{
if (arr[j] > arr[j + 1])
{
int tmp = arr[j];
arr[j] = arr[j+1];
arr[j + 1] = tmp;
}
}
}
}
int main()
{
int arr[10] = { 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 };
int sz = sizeof(arr) / sizeof(arr[0]);
BubbleSort(arr, sz);
PrintArr(arr, sz);
system("pause");
return 0;
}
指针形式