#include<bits/stdc++.h>
using namespace std;
struct Book {
string bookno;
string name;
double price;
};
//结点
typedef struct Lnode {
Book data;
struct Lnode *next;
}Lnode,*Linklist;
//初始化
void Initlist(Linklist &L) {
L = new Lnode;
L->next = NULL;
}
//尾插建表
void Creatlist(Linklist &L, string bookno, string name, double price) {
Lnode *p = new Lnode;
p->data.bookno = bookno;
p->data.name = name;
p->data.price = price;
p->next = NULL; //处理新节点
Lnode *cur = L;
while (cur->next)
{
cur = cur->next;
}
cur->next = p;
p->next = NULL;
}
//逆序+输出
void Print(Linklist &L) {
Lnode *cur = L->next;
stack <Book> mys;
while (cur != NULL) {
mys.push(cur->data);
cur = cur->next;
}
while (!mys.empty())
{
cout << mys.top().bookno << " " << mys.top().name << " ";
printf("%.2lf\n", mys.top().price);
mys.pop();
}
}
int main() {
string bookno;
string name;
double price;
Linklist L;
Initlist(L);
int count ;
cin >> count;
for (int i = 0; i < count; i++) {
cin >> bookno >> name >> price;
Creatlist(L, bookno, name, price); //建表
}
Print(L);
}
BJFU 217链式 图书逆序存储【栈】
最新推荐文章于 2024-07-25 12:39:48 发布