药品管理系统从数据文件中读出各药品的信息记录,存储在顺序表中。各药品的信息包括:药品编号、药名、药品单价、销出数量、销售额。对单价的排序采用冒泡排序法,对销售量的排序采用快速排序法,对销售额的排序采用堆排序法。java语言实现
时间: 2024-03-18 15:42:10 浏览: 137
首先,我们需要定义一个药品类,其中包括药品编号、药名、药品单价、销出数量、销售额等属性。然后,我们可以创建一个药品顺序表,并将每个药品的信息存储在顺序表中。
接下来,我们可以分别使用冒泡排序、快速排序和堆排序对药品单价、销售量和销售额进行排序。这里我们可以使用Java中的Arrays类提供的sort方法来实现排序。
以下是对药品信息进行排序的Java代码示例:
```java
import java.util.*;
class Drug implements Comparable<Drug> {
String id;
String name;
double price;
int quantity;
double sales;
public Drug(String id, String name, double price, int quantity, double sales) {
this.id = id;
this.name = name;
this.price = price;
this.quantity = quantity;
this.sales = sales;
}
@Override
public int compareTo(Drug other) {
return Double.compare(this.sales, other.sales);
}
}
public class DrugManagementSystem {
public static void main(String[] args) {
List<Drug> drugs = new ArrayList<>();
drugs.add(new Drug("001", "Drug A", 10.5, 1000, 10500));
drugs.add(new Drug("002", "Drug B", 5.2, 2000, 10400));
drugs.add(new Drug("003", "Drug C", 8.0, 500, 4000));
drugs.add(new Drug("004", "Drug D", 20.0, 3000, 60000));
drugs.add(new Drug("005", "Drug E", 3.0, 800, 2400));
// Sort by price using Bubble Sort
for (int i = 0; i < drugs.size() - 1; i++) {
for (int j = 0; j < drugs.size() - i - 1; j++) {
if (drugs.get(j).price > drugs.get(j + 1).price) {
Drug temp = drugs.get(j);
drugs.set(j, drugs.get(j + 1));
drugs.set(j + 1, temp);
}
}
}
// Sort by quantity using Quick Sort
Collections.sort(drugs, new Comparator<Drug>() {
@Override
public int compare(Drug d1, Drug d2) {
return Integer.compare(d2.quantity, d1.quantity);
}
});
// Sort by sales using Heap Sort
PriorityQueue<Drug> heap = new PriorityQueue<>();
for (Drug drug : drugs) {
heap.add(drug);
}
List<Drug> sortedBySales = new ArrayList<>();
while (!heap.isEmpty()) {
sortedBySales.add(heap.poll());
}
// Print the sorted list
for (Drug drug : sortedBySales) {
System.out.println(drug.id + " " + drug.name + " " + drug.price + " " + drug.quantity + " " + drug.sales);
}
}
}
```
在这个示例中,我们创建了一个Drug类来表示药品,并实现了Comparable接口以便在堆排序时进行比较。然后,我们创建了一个药品顺序表,并将每个药品的信息存储在顺序表中。接着,我们分别使用冒泡排序、快速排序和堆排序对药品单价、销售量和销售额进行排序。最后,我们输出按销售额排序后的药品信息。
阅读全文
相关推荐

















