您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
下面是一个自定义的C++ Array类,支持高效插入和删除操作:
#include <iostream>
class Array {
private:
int* data; // 数组指针
int size; // 数组大小
int capacity; // 数组容量
public:
// 构造函数
Array(int initialCapacity = 10) {
data = new int[initialCapacity];
size = 0;
capacity = initialCapacity;
}
// 析构函数
~Array() {
delete[] data;
}
// 插入元素
void insert(int element, int index) {
if (index < 0 || index > size) {
std::cout << "Invalid index" << std::endl;
return;
}
// 如果数组已满,则扩容
if (size == capacity) {
int newCapacity = capacity * 2;
int* newData = new int[newCapacity];
for (int i = 0; i < size; i++) {
newData[i] = data[i];
}
delete[] data;
data = newData;
capacity = newCapacity;
}
// 将元素插入到指定位置
for (int i = size; i > index; i--) {
data[i] = data[i-1];
}
data[index] = element;
size++;
}
// 删除元素
void remove(int index) {
if (index < 0 || index >= size) {
std::cout << "Invalid index" << std::endl;
return;
}
// 将指定位置后的元素向前移动
for (int i = index; i < size - 1; i++) {
data[i] = data[i+1];
}
size--;
}
// 输出数组元素
void print() {
for (int i = 0; i < size; i++) {
std::cout << data[i] << " ";
}
std::cout << std::endl;
}
};
int main() {
// 创建一个Array对象
Array arr(5);
// 插入元素
arr.insert(1, 0);
arr.insert(2, 1);
arr.insert(3, 2);
arr.insert(4, 3);
// 输出数组元素
arr.print();
// 删除元素
arr.remove(2);
// 输出数组元素
arr.print();
return 0;
}
这个自定义的Array类实现了插入和删除操作,当数组满时会自动扩容,保证了数组的动态性。通过这个类,可以高效地进行插入和删除操作。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。