指针的应用,将最大与第一个元素进行交换,最小与最后一个交换

输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组,查找及交换过程采用指针完成。

#include <iostream>
using namespace std;

// 交换两个元素
void swap(int* a, int* b) {
    int temp = *a;
    *a = *b;
    *b = temp;
}

// 查找最大值并交换
void max_swap(int *arr, int size) {
    int* max = arr;
    for (int i = 1; i < size; i++) {
        if (*max < *(arr + i)) {
            max = arr + i;
        }
    }
    swap(max, arr);
}

// 查找最小值并交换
void min_swap(int *arr, int size) {
    int* min = arr;
    for (int i = 1; i < size; i++) {
        if (*min > *(arr + i)) {
            min = arr + i;
        }
    }
    swap(min, arr + size - 1);
}

int main() {
    int arr[] = { 3, 5, 1, 9, 2, 8 };
    int size = sizeof(arr) / sizeof(int);

    max_swap(arr, size);
    min_swap(arr + 1, size - 2);

    for (int i = 0; i < size; i++) {
        cout << arr[i] << ' ';
    }
    cout << endl;
    return 0;
}