void maopao(int* p)
{
//cout << *p<<*(++p);//为什么是反过来的????cout从右往左读取
for (int i = 9; i >0; i--/*int i=0;i<9;i++*/)
{
for (int j = 0; j <i; j++/*int j=0;j<9-i;j++*/)
{
//int temp = 0;//想问一下 这一段为什么不行啊
//if (*p > *(++p))
//{
// temp = *(++p);
// *(++p) = *p;
// *p = temp;
//}
if (p[j] > p[j+1])
{
int temp = p[j];
p[j] = p[j + 1];
p[j + 1] = temp;
}
}
}
}
int main()
{
int arr[10] = { 4,3,6,9,1,2,10,8,7,5 };
maopao(arr);
for (int i = 0; i < 10; i++)
{
cout << arr[i];
}
}
冒泡排序 把数组从小到大排序的程序 但指针的有点搞不懂
想请问一下 void maopao中间//斜杠掉的部分为什么不行啊 能不能解引用之后直接比较数值啊
还有个问题 传递到void maopao中的不是指针吗 为什么p[i]跟数组是一样的呀