C++模拟实现JDK中的ArrayList和LinkedList
在C++中,可以使用STL中的vector和list来实现类似于JDK中的ArrayList和LinkedList的功能。下面是使用C++ STL实现ArrayList和LinkedList的示例。
ArrayList的实现
#include <iostream>
#include <vector>
using namespace std;
class ArrayList {
public:
ArrayList() {}
void add(int value) {
list.push_back(value);
}
int get(int index) {
return list[index];
}
int size() {
return list.size();
}
private:
vector<int> list;
};
int main() {
ArrayList list;
list.add(1);
list.add(2);
list.add(3);
for (int i = 0; i < list.size(); i++) {
cout << list.get(i) << " ";
}
cout << endl;
return 0;
}
在上面的示例中,使用了C++ STL中的vector来实现ArrayList。add
方法使用push_back
函数向vector中添加元素,get
方法使用[]
运算符获取指定位置的元素,size
方法使用size
函数获取vector的大小。
LinkedList的实现
#include <iostream>
#include <list>
using namespace std;
class LinkedList {
public:
LinkedList() {}
void add(int value) {
list.push_back(value);
}
int get(int index) {
list<int>::iterator it = list.begin();
advance(it, index);
return *it;
}
int size() {
return list.size();
}
private:
list<int> list;
};
int main() {
LinkedList list;
list.add(1);
list.add(2);
list.add(3);
for (int i = 0; i < list.size(); i++) {
cout << list.get(i) << " ";
}
cout << endl;
return 0;
}
在上面的示例中,使用了C++ STL中的list来实现LinkedList。add
方法使用push_back
函数向list中添加元素,get
方法使用iterator
迭代器获取指定位置的元素,size
方法使用size
函数获取list的大小。
总结
使用C++ STL中的vector和list可以很方便地实现类似于JDK中的ArrayList和LinkedList的功能。vector适用于随机访问,list适用于插入和删除操作。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C++模拟实现JDK中的ArrayList和LinkedList - Python技术站