一、建立顺序表节点的类
package sorts;
public class RecordNode {
private Comparable key; //关键字
private Object element; //数据元素
public Comparable getKey() {
return key;
}
public void setKey(Comparable key) {
this.key = key;
}
public Object getElement() {
return element;
}
public void setElement(Object element) {
this.element = element;
}
public RecordNode(Comparable key){
this.key=key;
}
public RecordNode(Comparable key,Object element){
this.key=key;
this.element=element;
}
}
二、构建顺序表
public class SeqList {
private RecordNode[] r; //顺序表记录结点数组
private int curlen; //顺序表长度,即记录个数
//顺序表的构造方法,构造一个存储空间容量为maxSize的顺序表
public SeqList(int maxSize){
this.r=new RecordNode[maxSize]; //为顺序表分配maxSize个存储单元
this.curlen=0; //置顺序表的当前长度为0
}
public RecordNode[] getRecord(){
return r;
}
public void setRecord(RecordNode[] r){
this.r=r;
}
public int getCurlen(){
return curlen;
}
}
三、冒泡排序
基本思想:每两个相邻的数相互比较,如果前一个数比后一个数大就交换位置,第一轮可以得出最大数,第二轮可以得出第二大的数,以此类推。
public void bubbleSort(){
RecordNode temp; //辅助结点
boolean flag=true;
f