您的位置:首页 > 数据库 > Oracle

Oracle - 常用SQL语句

2013-12-09 22:44 351 查看
java实现线性链表

 

package list;

public class LineList {
Object[] elem;
int current;
int size;

public LineList() {
this(100);//初始化生成一个100个元素的数组
}

public LineList(int a) {
elem = new Object[a];
size = a;
current = 0;
}

//方法用来判断数组大小是否还够用
public void enhanceSize() {
if (current == size) {
size+=10;
Object[] newElem = new Object[size];
int n=0;
for(Object obj:elem){
newElem
=obj;
n++;
}
elem = newElem;
}

}

//添加元素
public void add(Object e){
enhanceSize();
elem[current]=e;
current++;

}

// 获取元素
public Object get(int index){

return elem[index];

}

}

 

 

单链表;

1)节点定义:

package linekedList;

public class NodeDemo {
int data;
NodeDemo next;

}

 2)单链表;

 

package linekedList;

public class LinkedListDemo {
NodeDemo head = new NodeDemo();
NodeDemo currentNode = head;

//尾插法添加元素
public void add(int e) {
NodeDemo newNode = new NodeDemo();
newNode.data = e;
currentNode.next = newNode;
currentNode = newNode;

}

获得指定序号的元素
public Object get(int index) {
int i = 0;
NodeDemo nodep = head;
while ((nodep.next != null) && i < index) {
nodep = nodep.next;
i++;

}
return nodep.data;
}

//链表的插入
public void insertList(int index, int e) {

if (index <= 0) {
System.out.println("插入位置不合法!!!");
} else {
NodeDemo newNode = new NodeDemo();
newNode.data = e;

int i = 0;
NodeDemo nodep = head;
while ((nodep.next != null) && i < index) {
nodep = nodep.next;
i++;

}
newNode.next = nodep.next;
nodep.next = newNode;
}

}

//两个有序链表的合并,合并后为一个有序链表
public LinkedListDemo mergeLinkedList(LinkedListDemo lB) {
NodeDemo lANode = this.head.next;
NodeDemo lBNode = lB.head.next;
LinkedListDemo lC = new LinkedListDemo();
NodeDemo currentNode = lC.head;
while (lANode != null && lBNode != null) {
if (lANode.data <= lBNode.data) {
currentNode.next = lANode;
currentNode = lANode;
lANode = lANode.next;
System.out.println("A的");

} else {
currentNode.next = lBNode;
currentNode = lBNode;
lBNode = lBNode.next;
System.out.println("B的");
}

}
if (lANode != null) {
currentNode.next = lANode;
} else {
currentNode.next = lBNode;

}
return lC;

}

}

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: