本文目录一览:
java 单链表排序问题
你的这个类,按照你的意思,应该有处理链表的方法。
比如有class A{
//there are many methods which you use them to do different jobs.
LinkList sort(LinkList p)
{
//处理链表排序
//返回链表
}
}
在你的主函数中,new 一个A,用A的对象调用A中那个排序的方法。作为一个方法写在一个类中,提高了代码的复用性。如果写在主函数中,首先,看起来,很不爽,其次,如果你的程序中需要多次调用,你就没啥子办法。JAVA中不能使用GOTO语句。
用java编写程序实现单链表,要提供插入,删除,排序,统计等功能,链表节点中的数据要求是整数。
public class Link {
Node head = null;
Node point = null;
Node newNode = null;
public int Count = 0;//统计值
//插入
public void AddNode(int t) {
newNode = new Node();
if (head == null) {
head = newNode;
} else {
point = head;
while (point.next != null) {
point = point.next;
}
point.next = newNode;
}
point = newNode;
point.vlaue = t;
point.next = null;
Count++;
}
//返回值
public int GetValue(int i) {
if (head == null || i 0 || i Count)
return -999999;
int n;
Node temp = null;
point = head;
for (n = 0; n = i; n++) {
temp = point;
point = point.next;
}
return temp.vlaue;
}
//删除
public void DeleteNode(int i) {
if (i 0 || i Count) {
return;
}
if (i == 0) {
head = head.next;
} else {
int n = 0;
point = head;
Node temp = point;
for (n = 0; n i; n++) {
temp = point;
point = point.next;
}
temp.next = point.next;
}
Count--;
}
//排序
public void Sotr() {
for (Node i = head; i != null; i = i.next) {
for (Node j = i.next; j != null; j = j.next) {
if (i.vlaue j.vlaue) {
int t = i.vlaue;
i.vlaue = j.vlaue;
j.vlaue = t;
}
}
}
}
}
class Node {
int vlaue;
Node next;
}
怎样对java中的单向链表中的数据进行排序
可行,不过貌似有些麻烦的说,你用一个LIST的迭代器把链表中的元素迭代到LIST里面以后,有专门的方法进行排序的!!!