链表
来源:互联网 发布:ubuntu打不开终端 编辑:程序博客网 时间:2024/05/16 05:47
1、链数据实体
/** * 链数据实体 * */public class Link {public int iData;public double dData;public Link next;public Link(int id,double dd){iData = id;dData = dd;}public void displayLink(){System.out.println("{"+iData+","+dData+"}");}}
2、链表
/** * 链表 * */public class LinkList {private Link first;public LinkList(){first = null;}public boolean isEmpty(){return (first==null);}/** * 插入 * @param id * @param dd */public void insertFirst(int id,double dd){Link newLink = new Link(id,dd);newLink.next=first;first=newLink;}/** * 删除first * @return */public Link deleteFirst(){Link temp = first;first = first.next;return temp;}/** * 显示 */public void displayList(){System.out.print("first-->last: ");Link current = first;while(current!=null){current.displayLink();current = current.next;}System.out.println(" ");}/** * 查找 * @param key * @return */public Link find(int key){Link current = first;while(current.iData!=key){if(current.next==null){return null;}else{current = current.next;}}return current;}/** * 指定删除 * @param key * @return */public Link delete(int key){Link current = first;Link previous = first;while(current.iData!=key){if(current.next==null){return null;}else{previous = current;current = current.next;}}if(current == first){first = first.next;}else{previous.next = current.next;}return current;}}
关于LinkList 解析
①构造函数
②insertFirst()方法
③deleteFirst()方法
注意:deleteFirst()方法假定链表是不空的。调用之前,程序需要首先调用isEmpty()方法核实链表是否为空。
④displayList()方法⑤find()方法和delete()方法
3、链表实现
/** * 链表实现 * */public class LinkListApp {public static void main(String[] args) {LinkList theList = new LinkList();theList.insertFirst(22, 2.969);theList.insertFirst(44, 4.68);theList.insertFirst(66, 6.457);theList.insertFirst(88, 8.647);theList.displayList();while(!theList.isEmpty()){Link link = theList.deleteFirst();System.out.print("Delede");link.displayLink();System.out.println("");}theList.displayList();}}
0 0
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- How to create an EMF model from a Java application ?
- 关于ios使用NSLocalizedString本地化
- 取消UITableViewCell的选中状态
- 3Sum
- Hive-UDAF开发指南
- 链表
- 以二进制码形式将图片存到数据库中,再从数据库中以二进制的形式从数据库中读出来
- Java NIO
- 3Sum Closest
- Kill All Active Connections To A Database.
- Linux中线程同步和互斥的区别
- 设备树
- 4Sum
- NSString转成XML格式