从键盘依次输入6本图书信息(以顺序表存放),分别编写按书号、书名及价格等信息的查找方法,实现图书信息的查找。 说明:图书信息顺序表数据结构定义。
时间: 2024-02-11 19:04:38 浏览: 85
好的,我来回答你的问题。以下是图书信息顺序表的数据结构定义:
```c++
#define MAXSIZE 100 // 定义最大容量
typedef struct {
int bookID; // 书号
char bookName[50]; // 书名
float price; // 价格
} BookInfo;
typedef struct {
BookInfo data[MAXSIZE]; // 存储数据的数组
int length; // 当前存储的元素个数
} SeqList;
```
下面是按书号、书名及价格等信息的查找方法的实现:
1. 按书号查找
```c++
int searchByID(SeqList L, int bookID) {
for (int i = 0; i < L.length; i++) {
if (L.data[i].bookID == bookID) {
return i;
}
}
return -1;
}
```
2. 按书名查找
```c++
int searchByName(SeqList L, char* bookName) {
for (int i = 0; i < L.length; i++) {
if (strcmp(L.data[i].bookName, bookName) == 0) {
return i;
}
}
return -1;
}
```
3. 按价格查找
```c++
int searchByPrice(SeqList L, float price) {
for (int i = 0; i < L.length; i++) {
if (L.data[i].price == price) {
return i;
}
}
return -1;
}
```
以上三个函数都是顺序查找,时间复杂度是O(n)。
阅读全文