Java---单链表
程序员文章站
2022-06-23 22:46:15
java学习经验总结 单链表的建立与结点的增删 在该链表结点有data数据,并且还有cpu,分给cpu随机的时间片,根据时间片大小进行结点data的排序 链表结点的建立 链表的构建过程以及添加节点、删除节点 ......
#java学习经验总结------单链表的建立与结点的增删
在该链表结点有data数据,并且还有cpu,分给cpu随机的时间片,根据时间片大小进行结点data的排序
链表结点的建立
class linknode{//结点的建立 private int data; private int cpu; public linknode next; public linknode(int data) { this.data=data; } public int getcpu() { return cpu; } public void setcpu(int cpu) { this.cpu = cpu; } public int getdata() { return data; } public void setdata(int data) { this.data = data; }
链表的构建过程以及添加节点、删除节点
class linklist{ private linknode front; private linknode current; public linklist() { current=front=new linknode(0);//单链表头节点必须对象化,否则会导致空指针异常 } public void add(int data) {//链表的添加 linknode node = new linknode(data); while(current.next!=null) { current=current.next; } current.next=node; } public void print() {//链表的打印 linknode node =front.next; while(node!=null) { system.out.println(node.getdata()+" "+node.getcpu()); node=node.next; } system.out.println("======================================"); } public void sort(int temp) {//对链表进行排序 int a; int b; for(int i=0;i<temp-1;i++) { linknode now=front.next; for(int j=0;j<temp-i-1;j++) { if(now.getcpu()>now.next.getcpu()) { a=now.getdata(); b=now.next.getdata(); now.setdata(b); now.next.setdata(a); a=now.cpu; now.cpu=now.next.cpu; now.next.cpu=a; system.out.println(); } now=now.next; } } } public void delete(int num) {//链表的删除 int i=1; linknode node=front; while(i<num) { node=node.next; i++; } node.next=node.next.next; } }