我需要任意含有船舶海洋元素的与数据结构相关的代码,并且加以说明代码的作用以及各个函数的作用
时间: 2024-02-11 09:07:35 浏览: 73
以下是一个简单的船舶海洋元素的数据结构示例,实现了一个基本的船舶信息管理系统。代码使用C++语言实现,包括以下几个函数:
```c++
#include <iostream>
#include <cstring>
#include <vector>
using namespace std;
// 船舶结构体
struct Ship {
int id; // 船舶编号
string name; // 船名
string type; // 船型
double length; // 长度
double width; // 宽度
double depth; // 深度
};
// 定义一个船舶集合类
class ShipCollection {
private:
vector<Ship> ships; // 存储船舶信息的向量
public:
ShipCollection() {} // 默认构造函数
~ShipCollection() {} // 析构函数
void addShip(const Ship& ship); // 添加船舶
void removeShip(int id); // 删除船舶
Ship getShip(int id); // 获取船舶信息
void printAllShips(); // 打印所有船舶信息
};
// 添加船舶
void ShipCollection::addShip(const Ship& ship) {
ships.push_back(ship);
}
// 删除船舶
void ShipCollection::removeShip(int id) {
for (vector<Ship>::iterator it = ships.begin(); it != ships.end(); it++) {
if (it->id == id) {
ships.erase(it);
break;
}
}
}
// 获取船舶信息
Ship ShipCollection::getShip(int id) {
for (vector<Ship>::iterator it = ships.begin(); it != ships.end(); it++) {
if (it->id == id) {
return *it;
}
}
return Ship();
}
// 打印所有船舶信息
void ShipCollection::printAllShips() {
for (vector<Ship>::iterator it = ships.begin(); it != ships.end(); it++) {
cout << "船舶编号:" << it->id << endl;
cout << "船名:" << it->name << endl;
cout << "船型:" << it->type << endl;
cout << "长度:" << it->length << endl;
cout << "宽度:" << it->width << endl;
cout << "深度:" << it->depth << endl;
cout << endl;
}
}
int main() {
ShipCollection collection;
Ship ship1 = {1, "船1", "型号1", 100.0, 20.0, 8.0};
Ship ship2 = {2, "船2", "型号2", 200.0, 30.0, 10.0};
Ship ship3 = {3, "船3", "型号3", 300.0, 40.0, 12.0};
collection.addShip(ship1);
collection.addShip(ship2);
collection.addShip(ship3);
collection.printAllShips();
collection.removeShip(2);
collection.printAllShips();
return 0;
}
```
上述代码实现了一个 `Ship` 船舶结构体,包括船舶编号、船名、船型、长度、宽度、深度等属性。然后定义了一个 `ShipCollection` 船舶集合类,使用 vector<Ship> 存储船舶信息,包括添加船舶、删除船舶、获取船舶信息和打印所有船舶信息等函数。
在主函数中,我们创建了三个船舶对象,并将它们添加到 `ShipCollection` 中,然后打印所有船舶信息,接着删除了船舶编号为 2 的船只,再次打印所有船舶信息。
这个代码示例可以用来管理船舶信息,包括添加、删除、查询和打印所有船舶信息等功能。
阅读全文