2013.12.28
来源:互联网 发布:怎么在淘宝上卖衣服 编辑:程序博客网 时间:2024/05/19 15:43
* 条件语句中的判断部分,要把判断对象是否为null的表达式 写在 && 的最前面,这样保证 && 后的语句不会访问空引用;
* 突然发现学java好像在游戏里练级…你的代码行数就是经验值~求双倍,三倍,四倍经验!
* 实现了基于链地址法进行冲突处理的哈希表@java/DataStructure/unit11
class Data{private int key;private double data;public Data(int key, double data){this.key=key;this.data=data;}public Data(){key=0;data=0;}public int getKey(){return key;}public void setKey(int newKey){key=newKey;}public double getData(){return data;}public void display(){System.out.print("["+key+", "+data+"] ");}}class Link{private Data data;public Link next;public Link(Data data){this.data=data;next=null;}public Link(){data=null;next=null;}public Data getData(){return data;}public void display(){data.display();}}class LinkList{private Link head;public LinkList(){head=null;}public Link getHead(){return head;}public void insert(Link newLink){if(head==null) head=newLink;else{Link current=head;Link prev=head;while(current!=null && current.getData().getKey()<newLink.getData().getKey()){prev=current;current=current.next;}if(current==head){newLink.next=head;head=newLink;}else{prev.next=newLink;newLink.next=current;}}}public Link delete(int key){if(head==null){System.out.println("Can not Delete: Empty LinkList!");return null;}else{Link current=head;Link prev=current;while(current!=null && current.getData().getKey()!=key){prev=current;current=current.next;}if(current==null){System.out.println("Can not Delete: Not Found!");return null;}else if(current==head){Link temp=head;head=head.next;return temp;}else{prev.next=current.next;return current;}}}public Link find(int key){if(head==null){System.out.println("Can not Find: Empty LinkList!");return null;}else{Link current=head;while(current!=null && current.getData().getKey()!=key){current=current.next;}if(current==null){System.out.println("Can not Find: Not Exist!");return null;}else return current;}}public void display(){if(head==null){System.out.println("Empty List!");return;}Link current=head;int counter=0;while(current!=null){current.display();current=current.next;if(++counter==5){System.out.println();counter=0;}}System.out.println();}}class HashTable{private LinkList [] lArr;private int size;private int current;public HashTable(int max){lArr=new LinkList[max];size=max;current=0;}public void insert(Link newLink){int key=newLink.getData().getKey()%size;if(current==size){System.out.println("Can no Insert: The HashTable is Full!");}if(lArr[key]==null){lArr[key]=new LinkList();current++;}lArr[key].insert(newLink);}public Link delete(int key){int obj=key%size;if(lArr[obj]==null){System.out.println("Can not Delete: Not Exist!");return null;}else return lArr[obj].delete(key);}public Link find(int key){int obj=key%size;if(lArr[obj]==null){System.out.println("Can not Find: Not Exist!");return null;}else return lArr[obj].find(key);}public void display(){for(int i=0; i<size; i++){if(lArr[i]==null || lArr[i].getHead()==null){System.out.println("The "+i+" LinkList is Empty!");continue;}System.out.println("The "+i+" LinkList: ");lArr[i].display();}}}
0 0
- 2013.12.28
- 2013.12.28
- 2013.12.28 学习九九乘法表
- 2013.12
- 一个字符串替换小工具 (2013.12.28 updated)
- CentOS RedHat 版本和linux内核版本对应表(2013.12.28更新)
- CentOS RedHat 版本和linux内核版本对应表(2013.12.28更新)
- 2013.12.01
- 2013.12.02
- 2013.12.03
- 2013.12.05
- 2013.12.06
- 2013.12.07
- 2013.12.08
- 2013.12.09
- 2013.12.10
- 2013.12.10
- 2013.12.11
- Web development
- 折半查找的实现
- iOS LazyTableImages的分析
- linux驱动开发--字符设备:创建一组设备节点
- CakePHP based UI 终于找到了不错的PHP UI框架
- 2013.12.28
- Struts2 第二篇 Action名称的搜索路径
- Hadoop eclipse开发解决Call to localhost/127.0.0.1:9000 failed on local exception: java.io.EOFException
- 解决Oracle ORA-12505, TNS:listener does not currently know of SID given in connect
- SpannableString 动态设置textView中字体颜色和大小
- oracle 11g 添加emp表
- CSS解读之border属性
- Android开源项目收集
- 页面表格字段过长的处理方法