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;
};
相关推荐
熬夜学编程的小王4 分钟前
【初阶数据结构篇】双向链表的实现(赋源码)
数据结构·c++·链表·双向链表
Beekeeper&&P...7 分钟前
git bash是什么,git是什么,git中的暂存区是什么,git中的本地仓库是什么,git中工作目录指的是什么
开发语言·git·bash
zz40_7 分钟前
C++自己写类 和 运算符重载函数
c++
NoneCoder11 分钟前
Python入门(12)--数据处理
开发语言·python
Dong雨15 分钟前
力扣hot100-->栈/单调栈
算法·leetcode·职场和发展
六月的翅膀18 分钟前
C++:实例访问静态成员函数和类访问静态成员函数有什么区别
开发语言·c++
Domain-zhuo24 分钟前
什么是JavaScript原型链?
开发语言·前端·javascript·jvm·ecmascript·原型模式
SoraLuna25 分钟前
「Mac玩转仓颉内测版24」基础篇4 - 浮点类型详解
开发语言·算法·macos·cangjie
小丁爱养花31 分钟前
前端三剑客(三):JavaScript
开发语言·前端·javascript
生信摆渡1 小时前
R语言-快速对多个变量取交集
开发语言·数据库·r语言