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;
};
相关推荐
黑客-雨5 分钟前
从零开始:如何用Python训练一个AI模型(超详细教程)非常详细收藏我这一篇就够了!
开发语言·人工智能·python·大模型·ai产品经理·大模型学习·大模型入门
Pandaconda9 分钟前
【Golang 面试题】每日 3 题(三十九)
开发语言·经验分享·笔记·后端·面试·golang·go
半盏茶香11 分钟前
扬帆数据结构算法之雅舟航程,漫步C++幽谷——LeetCode刷题之移除链表元素、反转链表、找中间节点、合并有序链表、链表的回文结构
数据结构·c++·算法
加油,旭杏13 分钟前
【go语言】变量和常量
服务器·开发语言·golang
行路见知14 分钟前
3.3 Go 返回值详解
开发语言·golang
xcLeigh17 分钟前
WPF实战案例 | C# WPF实现大学选课系统
开发语言·c#·wpf
哎呦,帅小伙哦18 分钟前
Effective C++ 规则41:了解隐式接口和编译期多态
c++·effective c++
NoneCoder28 分钟前
JavaScript系列(38)-- WebRTC技术详解
开发语言·javascript·webrtc
CodeJourney.30 分钟前
小型分布式发电项目优化设计方案
算法
关关钧38 分钟前
【R语言】数学运算
开发语言·r语言