Files
2024-12-05 15:46:08 +08:00

48 lines
1.1 KiB
C++

//test2.cpp
#include <iostream>
#include"LinkList.h" //LinkList类见第一题
using namespace std;
void swapNode(bookNode &n1, bookNode &n2) {
string tempId = n1.id;
n1.id = n2.id;
n2.id = tempId;
string tempName = n1.name;
n1.name = n2.name;
n2.name = tempName;
double tempPrice = n1.price;
n1.price = n2.price;
n2.price = tempPrice;
}
void bubble_sort(bookList &l) {
int n = getLength(&l);
bool swapped;
for (int i = 0; i < n - 1; i++) {
swapped = false;
bookNode *temp = l->next;
for (int j = 0; j < n - i - 1; j++) {
bookNode *temp1 = temp->next;
if (temp != NULL && temp1 != NULL && temp->price < temp1->price) {
swapNode(*temp, *temp1);
swapped = true;
}
temp = temp1;
}
if (!swapped) {
break;
}
}
}
int main() {
bookList books = new bookNode;
books->next = NULL;
create(books);
bubble_sort(books);
display(&books);
return 0;
}