2024.12.2

 

#include<iostream>

#include <cstring>  

using namespace std;

class Vector {  

public:  

 Vector() : size(0), data(NULL) {}  

 

 Vector(int s) : size(s) {  

  data = new int[size]();  

 }  

 

 Vector(const Vector &v) {  

 size = v.size;  

 data = new int[size];  

 std::memcpy(data, v.data, size * sizeof(int));  

 }  

 

 Vector* clone() const {  

  return new Vector(*this);

 }  

 

 ~Vector() {  

  delete[] data;  

 }  

 

 void resize(int newSize) {  

  int* newData = new int[newSize]();  

 

 int minSize = (newSize < size) ? newSize : size;  

 memcpy(newData, data, minSize * sizeof(int));  

 

 delete[] data;

 data = newData;  

 size = newSize;  

 }  

 

 void set(int index, int value) {  

 if (index >=0 && index < size) {  

  data[index] = value;  

 }  

 }  

 

 void print() const {  

 for (int i =0; i < size; ++i) {  

  cout << data[i] << " ";  

 }  

 cout << endl;  

 }  

 

private:  

 int* data;

 int size;

 };  

posted @ 2024-12-02 09:21  kuku睡  阅读(6)  评论(0)    收藏  举报