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;
};
相关推荐
302wanger3 分钟前
推荐下我的两个AI信息源
算法
索尔~古德曼7 分钟前
CF——错题的集合
算法
fpcc11 分钟前
计算机原理—构建过程中的分段分析
c++
xxwxx__11 分钟前
C++ AVL 树深度剖析:平衡二叉搜索树原理、源码与面试考点
数据结构·c++
SL_staff17 分钟前
JVS-Logic:从页面配置工具到企业级业务逻辑中枢的技术演进
java·算法·全栈
Escalating_xu25 分钟前
【C语言常见概念】从第一行代码到字符串结束标志:一次打通编译、main、ASCII、转义字符与注释
c语言·c++
DevRay27 分钟前
Java 21虚拟线程深度实战:告别线程池焦虑,百万并发吞吐量直接翻倍(原理+代码+避坑)
java·开发语言
陌シ未央ゞ28 分钟前
基于BM25算法和RRF实现的混合索引(java版)
人工智能·spring boot·后端·算法
renhongxia132 分钟前
数字孪生不止在工厂:能源、医疗与农业
人工智能·深度学习·算法·机器学习·数字孪生
Navigator_Z34 分钟前
LeetCode //C - 1250. Check If It Is a Good Array
c语言·算法·leetcode