链表里可以研究到这个部分东西,单链表的排序,单链表的反转,判断有环和判断相交。本身链表这个东西,已经比较频涉及到下面了。虽然在平时的时候,这个东西都是现在可以使用的,所以在研究上并没那么容易,即使是这么一个程序,感觉还是值得研究的。还是觉得相对深了点。其实他主要是三部分,差不多说定义(定义可能不是那么准确,主要反正就是一起到程序能够使用一些东西的预先设置的作用,其实代码都通的,一样。几乎但凡是代码都要有定义这一过程,所以因为链表也是代码,所以也差不多可以将链表的第一部分理解为定义),排序。
程序到目前为止,知其然,不知所以然。
package cjl.list;
package NOdeTest;
public class NOde {
int obj;// 结点中的元素
Node next;// 下一个结点的引用
public NOde(int obj) {
this.obj = obj;
}
}
/**
* 链表排序
*/
package cjl.list;
public class LinkSort {
private Node head = null;
private Node last = null;
public LinkSort(Node head2) {
this.head = head2;
this.sort();
}
public void sort() {
// 判断是否传输成功
Node node = head;
Node node2 = node.next;
int temp;
int t;
while (node != null) {
node2 = node.next;
while (node2 != null) {
if (node.obj > node2.obj) {
temp = node.obj;
node.obj = node2.obj;
node2.obj = temp;
// node2.next=node;
}
node2 = node2.next;
}
node = node.next;
}
// node=node2.next;
System.out.println("检测排序后!!!!");
node = head;
while (node != null) {
System.out.print(node.obj + " ");
node = node.next;
}
System.out.println();
}
}