数据结构,设计一个简单的图书馆系统,使用STL中的vector
时间: 2024-09-20 20:07:03 浏览: 55
数据结构是一种组织和存储数据的方式,使得数据访问、插入和删除操作更为高效。对于一个简单的图书馆系统,我们可以使用C++ STL(标准模板库)中的`vector`容器来实现书籍的管理。`vector`是一个动态数组,可以方便地存放和管理元素。
下面是一个基本的设计:
```cpp
#include <iostream>
#include <vector>
#include <string>
// 定义书籍类
class Book {
public:
std::string title;
std::string author;
// 构造函数
Book(const std::string& title, const std::string& author)
: title(title), author(author) {}
};
// 图书馆类
class Library {
private:
std::vector<Book> books; // 使用vector存储书籍
public:
// 添加书籍
void addBook(const std::string& title, const std::string& author) {
books.push_back(Book(title, author));
}
// 删除书籍
void removeBook(const std::string& title) {
for (size_t i = 0; i < books.size(); ++i) {
if (books[i].title == title) {
books.erase(books.begin() + i);
break;
}
}
}
// 打印所有书籍信息
void printBooks() const {
for (const auto& book : books) {
std::cout << "Title: " << book.title << ", Author: " << book.author << "\n";
}
}
};
int main() {
Library lib;
lib.addBook("The Great Gatsby", "F. Scott Fitzgerald");
lib.addBook("To Kill a Mockingbird", "Harper Lee");
lib.printBooks();
lib.removeBook("The Great Gatsby");
lib.printBooks();
return 0;
}
```
在这个例子中,`Library`类使用`vector`存储书籍,提供添加、删除和打印书籍的功能。通过`vector`的动态性和随机访问特性,可以方便地管理图书集合。