Java及MySQL常见面试题.docx
《Java及MySQL常见面试题.docx》由会员分享,可在线阅读,更多相关《Java及MySQL常见面试题.docx(59页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Java实现单链表:链表中的节点。key代表节点的值,next是指向下一个节点的指针package com.primer.structure.single_list;02/* * 单链表 节点 * author sd */08 public class Node_Single 09 public String key;/节点的值11 public Node_Single next;/指向下一个的指针12 public Node_Single(String key)/初始化head14 this.key = key;15 this.next = null;16 17 public Node_Si
2、ngle(String key,Node_Single next)18 this.key = key;19 this.next = next;20 21 public String getKey() 22 return key;23 24 public void setKey(String key) 26 this.key = key;27 28 public Node_Single getNext() 30 return next;31 32 public void setNext(Node_Single next) 34 this.next = next;35 36 Override37
3、public String toString() 38 return Node_Single key= + key + , next= + next + ;39 2.代码简单实现的单链表。链表的遍历,增加,删除package com.primer.structure.single_list;/* * 单链表 * author sd * */public class SingleList private Node_Single head = null;/头节点private Node_Single tail = null;/尾节点(空节点)相当于哨兵元素/* * 初始化一个链表(设置head )
4、 * param key */public void initList(Node_Single node)head = node;head.next = tail;/* * 添加一个元素 * param node */public void addTolist(Node_Single node)if(head = null)initList(node);elseNode_Single tmp = head;head = node;node.next = tmp;/* * 遍历链表,删除某一个节点 * param node * param myList */public void deleteN
5、ode(Node_Single node,SingleList myList)if(myList = null)return ;Node_Single tmp =null;for(tmp = myList.getHead();tmp!=null;tmp = tmp.next)if(tmp.next !=null & node.getKey().equals(tmp.next.getKey()/该元素和后一个元素相同。指针指向下一元素的下一元素if(tmp.next.next != null)tmp.next = tmp.next.next;elsetmp.next = null;public
6、void printList(SingleList myList)Node_Single tmp =null;for(tmp = myList.getHead();tmp!=null;tmp = tmp.next)System.out.println(tmp.getKey();public Node_Single getHead() return head;public void setHead(Node_Single head) this.head = head;public Node_Single getTail() return tail;public void setTail(Node
7、_Single tail) this.tail = tail;public static void main(String args)SingleList myList = new SingleList();Node_Single node_1 = new Node_Single(1);Node_Single node_2 = new Node_Single(2);Node_Single node_3 = new Node_Single(3);Node_Single node_4 = new Node_Single(4);Node_Single node_5 = new Node_Single
8、(5);Node_Single node_6 = new Node_Single(6);Node_Single node_7 = new Node_Single(7);myList.addTolist(node_1);myList.addTolist(node_2);myList.addTolist(node_3);myList.addTolist(node_4);myList.addTolist(node_5);myList.addTolist(node_6);myList.addTolist(node_7);myList.deleteNode(node_3, myList);myList.
9、printList(myList);另外的实现java实现范型单、双结点,单双列表(2008-10-20 17:51:01)转载/单结点的定义public class MyNode T data;MyNode next;/ MyNode node;/默认构造方法/ MyNode()/data=0;/构造方法MyNode(T node)this.data=node;/重载toString()方法,方便输出。public String toString()return String.valueOf(data);public static void main(String args) MyNode
10、node1=new MyNode(35);MyNode node2=new MyNode(66);System.out.println(node1:+node1.data);System.out.println(node2:+node2.data);/双结点的定义import java.util.*;class MyDNode extends MyNode/ MyDNode node;T pre;/qianT next;/hou/ T data;MyDNode(T data)super(data);this.pre=null;MyDNode(MyNode node)super(node);th
11、is.pre=null;public String toString()return String.valueOf(data);public static void main(String args) MyDNode n=new MyDNode(35);System.out.println(n);/单链表的实现public class MyList public MyNode head;public T node;public int length;MyList()head=null;length=0;MyList(T n)this.node=n;length=1;/get length of
12、 listpublic int getLength()return length;public String toString() /输出的格式String s=;MyNode tempNode=head;for(int i=1;i=length;i+)s=s+getNode(i)+-;tempNode=tempNode.next;return s;/将节点node添加到单链表末尾void append(MyNode node)if(node=null)return;if(head=null)head=node;elsegetNode(length).next=node;length+;/根据
13、参数返回单链表的第pos个节点MyNode getNode(int pos)if(lengthpos|pos1)return null;MyNode tempNode=head;for(int i=1;ipos;i+)tempNode=tempNode.next;return tempNode;/刪除MyNode delNode(int pos)if(poslength)return null; MyNode tempnode=getNode(pos);/獲得要刪除的結點if(pos=1)/head nodehead=getNode(1).next;/直接刪除頭指針else getNode(p
14、os-1).next=tempnode.next;/tepnode.pre=getNode(pos=1).pre;tempnode.next=null;length-=1;return tempnode;MyNode insertNode(int pos)MyNode e = new MyNode(8);if(poslength)return null;MyNode newnode=getNode(pos);if(pos=1)/head nodehead=getNode(1).next;/直接插入頭指針else /getNode(pos-1).next=newnode.next;/e.next
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java MySQL 常见 试题
限制150内