初始化顺序表list,将图书信息输入顺序表,然后遍历顺序表,读取第四个元素的值,查找价格是38的图书信息,在第四个元素前插入元素,然后遍历顺序表,删除第七个元素,遍历顺序表。用C加加编写代码
时间: 2024-09-13 09:15:32 浏览: 59
在C++中,顺序表通常可以用数组或者`std::vector`来实现。以下是使用`std::vector`的一个简单示例,展示了如何初始化顺序表(vector),添加图书信息,遍历顺序表,读取特定位置的元素,查找特定价格的图书信息,以及在特定位置插入和删除元素。
```cpp
#include <iostream>
#include <vector>
#include <string>
// 假设图书信息由书名和价格组成
struct Book {
std::string title;
double price;
};
int main() {
// 初始化顺序表list
std::vector<Book> list;
// 添加图书信息
list.push_back({"Book1", 19.99});
list.push_back({"Book2", 29.99});
list.push_back({"Book3", 39.99});
list.push_back({"Book4", 49.99});
list.push_back({"Book5", 59.99});
list.push_back({"Book6", 69.99});
// 遍历顺序表,读取第四个元素的值
if (list.size() >= 4) {
Book& fourthBook = list[3];
std::cout << "第四本书的标题是: " << fourthBook.title << ", 价格是: " << fourthBook.price << std::endl;
}
// 查找价格是38的图书信息
bool found = false;
for (const auto& book : list) {
if (book.price == 38.0) {
std::cout << "找到价格是38的书: " << book.title << ", 价格是: " << book.price << std::endl;
found = true;
break;
}
}
if (!found) {
std::cout << "没有找到价格是38的书。" << std::endl;
}
// 在第四个元素前插入元素
if (list.size() >= 4) {
list.insert(list.begin() + 3, {"BookInsert", 24.99});
}
// 遍历顺序表
std::cout << "插入新书后的顺序表:" << std::endl;
for (const auto& book : list) {
std::cout << book.title << ", 价格是: " << book.price << std::endl;
}
// 删除第七个元素
if (list.size() >= 7) {
list.erase(list.begin() + 6);
}
// 最后再遍历一次顺序表
std::cout << "删除第七个元素后的顺序表:" << std::endl;
for (const auto& book : list) {
std::cout << book.title << ", 价格是: " << book.price << std::endl;
}
return 0;
}
```
这段代码首先定义了一个`Book`结构体来存储图书信息,然后创建了一个`std::vector<Book>`类型的顺序表。通过`push_back`方法向顺序表中添加图书信息,利用下标访问读取第四个元素,使用循环查找特定价格的图书信息。`insert`方法用于在指定位置插入新元素,`erase`方法则用于删除指定位置的元素。最后,代码通过循环遍历了顺序表中的所有元素。
阅读全文