您好,登錄后才能下訂單哦!
下面是一個自定義的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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。