10. 如果经常按书名查询图书信息,请建立合适的索引

--实现代码:
CREATE CLUSTERED INDEX IDX_BOOKS_BNAME ON BOOKS(BNAME)[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8591181/viewspace-892449/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/8591181/viewspace-892449/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,根据上述的结构体定义,一个包含图书信息的顺序表可以定义为: ``` #define MAX_SIZE 100 // 定义顺序表的最大长度 struct Book { int book_id; // 书号 char book_name[50]; // 书名 float price; // 价格 }; struct BookList { struct Book books[MAX_SIZE]; // 存储图书信息的数组 int length; // 当前存储的图书数量 }; ``` 下面是包含图书信息的顺序表的各个操作的实现: 1. 建立 ``` void createBookList(struct BookList *list) { list->length = 0; } ``` 2. 输入 ``` void inputBookList(struct BookList *list) { printf("输入图书数量:"); scanf("%d", &list->length); for(int i = 0; i < list->length; i++) { printf("输入第 %d 本书的书号、书名和价格:", i+1); scanf("%d %s %f", &list->books[i].book_id, list->books[i].book_name, &list->books[i].price); } } ``` 3. 取值 ``` struct Book getBook(struct BookList list, int index) { if(index < 0 || index >= list.length) { printf("索引错误\n"); exit(1); // 终止程序 } return list.books[index]; } ``` 4. 查找 ``` int searchBook(struct BookList list, int book_id) { for(int i = 0; i < list.length; i++) { if(list.books[i].book_id == book_id) { return i; // 返回找到的图书索引 } } return -1; // 没有找到 } ``` 5. 插入 ``` void insertBook(struct BookList *list, int index, struct Book book) { if(index < 0 || index > list->length) { printf("索引错误\n"); exit(1); // 终止程序 } if(list->length == MAX_SIZE) { printf("顺序表已满,无法插入\n"); exit(1); // 终止程序 } for(int i = list->length - 1; i >= index; i--) { list->books[i+1] = list->books[i]; } list->books[index] = book; list->length++; } ``` 6. 删除 ``` void deleteBook(struct BookList *list, int index) { if(index < 0 || index >= list->length) { printf("索引错误\n"); exit(1); // 终止程序 } for(int i = index; i < list->length - 1; i++) { list->books[i] = list->books[i+1]; } list->length--; } ``` 7. 输出 ``` void outputBookList(struct BookList list) { printf("图书列表:\n"); for(int i = 0; i < list.length; i++) { printf("书号:%d,书名:%s,价格:%.2f\n", list.books[i].book_id, list.books[i].book_name, list.books[i].price); } } ``` 这些操作可以组合起来,实现对包含图书信息的顺序表的完整操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值