package 串; public class StringNode { // 节点类 结构 public char data; public StringNode next; public StringNode(char c){ data = c; next = null; } public StringNode(){ this('?'); } } public class String2 { //链式存储 实现了部分函数 StringNode head,rear; int number=0; public String2(){ head = rear = null; number = 0; } public String2(char c){ head = new StringNode(c); number = 1; } public int length2(){ return number; } public void concat2(char c){ StringNode p,q; if(this.head ==null){ head = new StringNode(c); this.rear = head; }else{ q = new StringNode(c); this.rear.next = q; this.rear = q; } number++; } public void concat2(String2 str){ StringNode q = str.head; while(q!=null){ this.concat2(q.data); q = q.next; } } }