C++之Swap类

main.cpp

cpp 复制代码
#include <iostream>
#include <vector>
#include <ctime>
#include "Swap.h"

using namespace std;

int main()
{
    Array myArrays;

    srand(time(0));
    for (int i = 0; i < 7; ++i) {
        int tempArray = (rand() % 100); // 生成0到99之间的随机数
        myArrays.addArrayMember(tempArray);
    }

    myArrays.outPutOriginalResult();

    myArrays.swapArray();

    myArrays.outPutNowResult();

    return 0;
}

Swap.cpp

cpp 复制代码
#include "Swap.h"

using namespace std;

void Array::swap(int& a, int& b)
{
    int temp;
    temp = a;
    a = b;
    b = temp;
}

void Array::addArrayMember(int member)
{
    Arrays.push_back(member);
}

// 实现通过指针倒置数组内容的函数,原地修改
void Array::reverseArrayInPlace(int* arr, int size)
{
    for (int i = 0; i < size / 2; ++i) {
        swap(arr[i], arr[size - 1 - i]);
    }
}

void Array::swapArray()
{
    int* arrayPtr = Arrays.data();
    reverseArrayInPlace(arrayPtr, Arrays.size());
}

void Array::outPutOriginalResult()
{
    cout << "随机产生的数组内容为:";
    for (int num : Arrays) {
        cout << num << ",";
    }
    cout << endl;
}

void Array::outPutNowResult()
{
    cout << "倒置的数组内容为(原地修改):";
    for (int num : Arrays) {
        cout << num << ",";
    }
    cout << endl;
}

Swap.h

cpp 复制代码
#include <iostream>
#include <vector>

using namespace std;

class Array
{
public:
    void swap(int& a, int& b); // swap
    void addArrayMember(int member);
    void reverseArrayInPlace(int* arr, int size);
    void outPutOriginalResult();
    void swapArray();
    void outPutNowResult();
private:
    vector<int> Arrays;
};
相关推荐
汉克老师38 分钟前
CSP-J 2026 第二轮入门组真题解析(第一题 、旅游)
c++·csp-j·信息学竞赛·小学生学c++
xiaoye-duck1 小时前
《C++ 项目:手写大模型接入 SDK》Gemini接口设计(上):初始化、全量响应实现和测试
开发语言·网络·c++·语言模型
nice_lcj5204 小时前
Java Lambda 表达式入门:怎么写、怎么用、常用方法有哪些
java·开发语言·后端·面试
码农小河664 小时前
基于SSM+JSP+MySQL的在线医疗服务系统的设计与实现
java·开发语言·mysql
老师我太想进步了20265 小时前
【数据结构-4】算法美学之顺序表
数据结构·算法
风影同志783245 小时前
编码器是激活函数吗?—— 一个看起来很像、其实不是的类比
算法
UIU1145 小时前
P1481 魔族密码
c++·算法·动态规划
nice_lcj5208 小时前
ThreadLocal 入门:它是怎么隔离数据的、为什么会导致内存泄漏
java·开发语言·后端·面试·并发编程·内存泄漏·threadlocal
加宝的起点雷达8 小时前
40 条候选里 38 条来自同一个源,主卡整屏重样
人工智能·算法·创业