有一个整形数组, a[3] = {7,2,5}, 要求使用指针实现数组成员由小到大的顺序排列,即结果为:a[3] = {2,5,7};
#include#include using namespace std; void swap(int* p1, int* p2) { int tmp = *p1; *p1 = *p2; *p2 = tmp; } int main(void) { int num[] = { 0, 9, 1 }; int* p1 = &num[0]; int* p2 = &num[1]; //第一步, 如果第一个大于第二个, 那么就交换 if (*p1 > *p2) { swap(p1, p2); } //第二步, 如果第二个大于第三个, 那么就交换 if (*(p1+1) > *(p2+1)) { swap(p1+1, p2+1); } //第三步, 如果第一个大于第二个, 那么就交换 if (*p1 > *p2) { swap(p1, p2); } //打印输出 for (int i = 0; i < 3; i++) { cout << num[i] << " "; } system("pause"); return 0; }



