歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

單鏈表的建立

建立結點
 
package com.huachao;
 
public class LinkedListNode {
 private int data;
 private LinkedListNode link;
 
public LinkedListNode getLink() {
 return link;
 }
 public void setLink(LinkedListNode link) {
 this.link = link;
 }
 LinkedListNode(int data){
 this.data = data;
 
}
 public int getData(){
 return data;
 }
 public int setData(){
 return data;
 }
 
}
 
鏈表的創建插入和刪除
 
package com.huachao;
 
import java.util.Scanner;
 
public class LinkedList {
 LinkedListNode head;
 private int length;
 public int getlength(){
 return length;
 }
 void create(){
 Scanner in = new Scanner(System.in);
 head = new LinkedListNode(in.nextInt());
 length++;
 LinkedListNode p = head;
 int data;
 while((data = in.nextInt() )!= -1){
 LinkedListNode q = new LinkedListNode(data);
 p.setLink(q);
 p = q;
 length++;
 }
 in.close();
 }
 
 boolean insert(int pos, int data){
 int i = 0;
 LinkedListNode p = head;
 LinkedListNode q;
 
if(pos >= length){
 System.out.print("dd");
 return false;
 }else{
 while(i<pos){
 ++i;
 p = p.getLink();
 }
 q =p.getLink() ;
 
p.setLink( new LinkedListNode(data) );
 p = p.getLink();
 p.setLink(q);
 }
 return true;
 }
 boolean delete(int pos){
 int j = 0;
 LinkedListNode p = head;
 
while(j<pos){
 ++j;
 p = p.getLink();
 }
 p.setLink(p.getLink().getLink());
 return true;
 }
 
void print(){
 LinkedListNode p = head;
 while(p.getLink() != null){
 System.out.print(p.getData() + " ");
 p = p.getLink();
 }
 System.out.print(p.getData() + " ");
 //System.out.print("length" + length);
 }
 }
 

測試:
 
package com.huachao;
 
public class Test {
 
public static void main(String[] args) {
 LinkedList l = new LinkedList();
 
l.create();
 
l.print();
 
l.insert(1, 2);
 //System.out.println(l.getlength());
 l.print();
 l.delete(1);
 l.print();
 
}
 }

Copyright © Linux教程網 All Rights Reserved