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;
};
相关推荐
清梦20201 分钟前
经典问题---跳跃游戏II(贪心算法)
算法·游戏·贪心算法
Smile灬凉城6669 分钟前
反序列化为啥可以利用加号绕过php正则匹配
开发语言·php
lsx20240620 分钟前
SQL MID()
开发语言
Dream_Snowar23 分钟前
速通Python 第四节——函数
开发语言·python·算法
西猫雷婶25 分钟前
python学opencv|读取图像(十四)BGR图像和HSV图像通道拆分
开发语言·python·opencv
鸿蒙自习室25 分钟前
鸿蒙UI开发——组件滤镜效果
开发语言·前端·javascript
言、雲33 分钟前
从tryLock()源码来出发,解析Redisson的重试机制和看门狗机制
java·开发语言·数据库
Altair澳汰尔36 分钟前
数据分析和AI丨知识图谱,AI革命中数据集成和模型构建的关键推动者
人工智能·算法·机器学习·数据分析·知识图谱
东风吹柳1 小时前
观察者模式(sigslot in C++)
c++·观察者模式·信号槽·sigslot
A懿轩A1 小时前
C/C++ 数据结构与算法【栈和队列】 栈+队列详细解析【日常学习,考研必备】带图+详细代码
c语言·数据结构·c++·学习·考研·算法·栈和队列