//test2.cpp #include #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; }