java实现单链表的增加,删除,查找,打印
来源:互联网 发布:石家庄餐饮软件 编辑:程序博客网 时间:2024/06/08 04:49
原文地址:http://liuyanzhao.com/2230.html
刚才传了一个java实现顺序表的基本功能的代码,下面是单链表的。同为笔记,以为回顾
文件名App.java
/*编写类,实现如下功能: *1、创建有序单链表 *2、包含如下基本操作:初始化、增加、删除、查找、打印元素 * 注意:初始化不同于用new 创建元素。 * *目的: * 1、理解成员变量、成员方法的含义 * 注意:相关方法的参数列表与C不同,顺序表成员的存取也与C不同 * 2、理解类=成员变量+成员方法,以及其使用方式。 **/import java.util.Scanner;class SortedLinkedList{ class Node{ //定义单链表的结点类型(内部类,就是定义在类中的class) int data; Node next; } Node head; //链表的表头指针 void init(){ head=new Node(); head.next=null;}//初始化 void add(int x ){ //将x加入升序链表 Node pre,p,q; for(pre=head, p=head.next; p!=null; p=p.next,pre=pre.next) if(p.data>x)break; q=new Node(); q.data=x; q.next=p; pre.next=q; //将q插入到pre和p之间 } Node find(int x){//在表中重找x,找到则返回其前驱结点的指针,找不到则返回null Node pre,p; pre=head;p=head.next; while(p!=null && p.data!=x){pre=pre.next; p=p.next;} if(p==null)return null; return pre; } void del(int x){//从链表中删除值为x的元素 Node pre=find(x); if(pre==null) return; //没找到 else pre.next=pre.next.next; //实施删除 } void showInfo(){ for(Node p=head.next; p!=null; p=p.next) System.out.print(p.data+" "); }}class App{ public static void main (String[] args) { SortedLinkedList L=new SortedLinkedList(); L.init(); System.out.print("请输入一组数,以-1结束:"); Scanner sc=new Scanner(System.in); int x=sc.nextInt(); while(x!=-1){ L.add(x); x=sc.nextInt(); } System.out.print("有序链表为:"); L.showInfo(); System.out.print("\n请输入要删除的数:"); x=sc.nextInt(); L.del(x); System.out.print("有序链表为:"); L.showInfo(); System.out.print("\n请输入要插入的数:"); x=sc.nextInt(); L.add(x); System.out.print("有序链表为:"); L.showInfo(); }}
原文地址:http://liuyanzhao.com/2230.html
0 0
- java实现单链表的增加,删除,查找,打印
- java实现顺序表的增加,删除,查找,打印
- 单链表的游标实现:插入、删除、查找、打印等功能
- java 增加 删除 查找 链表。
- dataset的增加,删除,,查找
- C语言实现单链表的生成打印查找删除逆置排序
- Java实现二叉排序树的插入、查找、删除
- 二叉搜索树的增加 查找 删除
- DOM节点的增加,删除,修改,查找
- 增加删除修改查找
- 用Java实现数据的显示,增加,删除,修改
- java实现单链表的初始化,创建,删除,插入,查找,排序,同项删除,退出等功能
- 用JAVA实现二叉查找树(二叉排序树)的打印
- 单链表多成员的插入、删除、查找、打印
- 单链表的创建,查找,删除,顺序打印,倒序打印(剑指offer)
- 汇编实现的简单的通讯录系统,有插入,修改,删除,打印,查找功能
- 《Java数据结构与算法》笔记-CH5-链表-2单链表,增加根据关键字查找和删除
- c语言实现二叉树的插入、查找、删除、打印树
- SpringMVC学习笔记(2)
- 滑鼠事件(setMouseCallback)
- APP开发问题汇总
- objective-c 中字符串与日期相互转换
- 2017年碰到的面试-持续更新
- java实现单链表的增加,删除,查找,打印
- 特徵
- Ajax 完整教程
- Android开发常用的网站
- 产生cache coherence 问题的原因
- Zookeeper客户端API之创建会话(六)
- 文章标题
- 房卡麻将分析系列之"发牌器"算法设计
- 【强连通分量】POJ 1236 Network of Schools