【发布时间】:2015-11-25 03:46:16
【问题描述】:
我一直试图让代码在 C++ 中使用基于指针的冒泡排序对用户输入的数组进行排序。代码编译没有错误,但数组没有排序。指针从来都不是我的强项,我无法让它们正常工作。这是我的代码。
#include <iostream>
using namespace std;
int main()
{
int arr[10];
int i = 0;
for (i = 0; i < 10; i++)
{
cout << "Enter a number: ";
cin >> arr[i];
}
int *ptr = &i;
for (int j = 0; j < 9; j++)
{
if (*(ptr + j) > *(ptr + j + 1))
{
int temp = *(ptr + j);
*(ptr + j) = *(ptr + j + 1);
*(ptr + j + 1) = temp;
}
}
cout << endl;
for (i = 0; i < 10; i++)
cout << arr[i] << "\t";
cin.ignore();
cin.get();
}
感谢大家的帮助。
【问题讨论】:
-
很久没看C++代码了,你可以试试改指针 int *ptr = &i;指向数组 arr[0] 的开头,否则我认为您只是指向 i 的内存地址,这不会帮助您对 arr[] 中的节点重新排序...
标签: c++ arrays sorting pointers