代码思路:
创建一个整形指针d存放数组的首地址,确保可以找到数组首地址,用for循环数组元素减一次,让每个数都能与别的数比较。
这个循环里把d的地址赋给q,把q的地址赋给e指针,把q+1的地址赋给x指针。这几步可以让每一次数组里的一个元素与别的元素比较交换到自己合适的位置后能回到数组的数组的首元素和第二个元素重新比较。
在另外用一个for循环让数组相邻的元素相比较,循环里先判断数组右边元素是不是比左边元素大(右边元素通过对e指针解引用得到,左边元素通过对x指针解引用得到),如果右边元素比左边元素大,就把这两个元素交换;进行判断完后e和x的地址加加(不用解引用)。
#include <stdio.h>
#include <assert.h>
void Bubble(int* q, int w)
{
assert(q);
int* d = q;
int r = 0