输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组,查找及交换过程采用指针完成。
#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;
}
- 您还可以看一下 张飞老师的硬件开发与电路设计速成入门到精通视频教程第一部课程中的 分析整流桥电路,电容计算小节, 巩固相关知识点