c++定义一个商品结构体其成员有价格,将商品数据存放在链栈内,按商品价格进行排序
时间: 2024-03-25 12:36:09 浏览: 18
好的,以下是定义商品结构体并在链栈内按价格排序的代码示例:
```c++
#include <iostream>
using namespace std;
struct Commodity {
float price;
Commodity *next;
};
void push(Commodity *&head, float price) {
Commodity *newCommodity = new Commodity;
newCommodity->price = price;
newCommodity->next = head;
head = newCommodity;
}
void sort(Commodity *&head) {
Commodity *p = head;
while (p != NULL) {
Commodity *q = p->next;
while (q != NULL) {
if (q->price < p->price) {
float temp = p->price;
p->price = q->price;
q->price = temp;
}
q = q->next;
}
p = p->next;
}
}
int main() {
Commodity *head = NULL;
push(head, 10.99);
push(head, 5.99);
push(head, 8.99);
push(head, 3.99);
sort(head);
Commodity *p = head;
while (p != NULL) {
cout << p->price << " ";
p = p->next;
}
cout << endl;
return 0;
}
```
在这里,我们定义了一个商品结构体,其中包括价格成员和一个指向下一个商品的指针。我们使用 push 函数将商品数据存放在链栈内,使用 sort 函数按价格进行排序。最后,在主函数中输出排序后的商品价格。