3.线性表的链式表示
来源:互联网 发布:vscode markdown 预览 编辑:程序博客网 时间:2024/06/07 00:43
package linkList;//节点类的泛型定义public class Node<T> {T data;Node<T> next;public Node(Node<T> n){next=n;}public Node(T obj,Node<T> n){data=obj; next=n;}public T getData(){return data;}public Node<T> getNext(){return next;}}
package linkList;import org.omg.PortableServer.ID_ASSIGNMENT_POLICY_ID;public class LinkList<T>{private Node<T> head;private int length;//初始化public LinkList(){length = 0;head = new Node<T> (null);}//1.获取单链表头结点地址public Node<T> getHead(){return head;}//2.单链表的插入public boolean add(int pos,T obj){if(pos<1||pos>length+1){System.out.println("索引不合法");return false;}int num = 1;Node<T> p = head,q = head.next;while(num<pos){p=q; q = q.next; num++;}p.next = new Node<T>(obj,q);length++;return true;}//3.单链表的删除public T delete(int pos){//首先还是要判断索引合法否,这里省略int num = 1;Node<T> p = head,q = head.next;while(num<pos){p=q; q = q.next; num++;}p.next = q.next ; length--;return q.data;}//4.更新某个节点的值public boolean modify(T obj,int pos){if((pos<1||pos>length+1)){System.out.println("pos值不合法");return false;}int num=1;Node<T> q=head.next;while(num<pos){q=q.next;num++;}q.data=obj;return true;}//5.单链表的查找public int find(T obj){int num=1;Node<T> p=head.next; while(p!=null){ //单链表的判空条件if(p.data.equals(obj)==false){ p=p.next;num++;}else break;}if(p==null) return -1;return num;}//6.获取某个节点的值public T value(int pos){if((pos<1||pos>length+1)){System.out.println("pos值不合法");return null;}int num=1;Node<T> q=head.next;while(num<pos){q=q.next;num++;}return q.data;}//7.判断单链表是否为空public boolean isEmpty(){return length == 0;}//8.求单链表的长度public int size(){return length;}//9.正序输出链表的所有元素public void nextOrder(){Node<T> p = head.next;while(p!=null){System.out.println(p.data);p = p.next;}}//10.清空单链表public void clear(){length = 0;head.next = null;}}
阅读全文
0 0
- 3.线性表的链式表示
- 线性表的链式表示
- 线性表的链式表示
- 线性表的链式表示
- 线性表的链式表示与实现
- 线性表的链式表示与实现
- 线性表的链式表示与实现
- 线性表的链式表示与实现
- 线性表的链式表示和实现
- 线性表的链式表示和实现
- c++ 线性表的链式表示
- 线性表的链式表示和实现
- 线性表的链式表示和实现
- 线性表的链式表示与实现
- 线性表的链式表示和实现
- 线性表的链式表示和实现
- 线性表的链式表示和实现
- 线性表的链式表示和实现
- 饮料新品难存活,经销商需避开哪些选品雷区
- [Unity 网络]网络基础
- 用JavaSE知识写生成验证码功能
- java学习第39天,集合的排序
- 复杂度分析之很多重循环
- 3.线性表的链式表示
- Leetcode题解-31. Next Permutation
- Java总结第一篇——Java的八大基本类型
- SSH整合案例
- Java基础汇总
- Java基础2
- 63. Unique Paths II
- 树莓派3B 无显示器,无键盘,无Linux系统,无网线 配置WIFI连接
- 抽象代数