packageclink;//循环单链表

public classTestClink {public static voidmain(String[] args) {//TODO Auto-generated method stub

Clink t1 = newClink();for(int i = 0;i<9;i++){

t1.insertHead(i);

}

t1.show();int len=t1.getlength();

System.out.println(len);

System.out.println("---");

t1.insertTail(5);

t1.insertTail(5);

t1.show();

System.out.println("---");

t1.delete(5);

t1.show();

}

}classClink{classEntry{intdata;

Entry next;publicEntry(){this.data=-1;this.next=null;

}public Entry(intdata){this.data=data;this.next=null;

}

}private Entry head=null;publicClink(){this.head=newEntry();this.head.next=this.head;

}

//头插法public void insertHead(intval){

Entry entry=newEntry(val);

entry.next=this.head.next;this.head.next=entry;

}

//尾插法public void insertTail(intval){

Entry cur=this.head;//定义一个节点用来寻找链表的尾结点

while(cur.next!=this.head){

cur=cur.next;

}

Entry entry=new Entry(val);//定义要插入的节点

entry.next=cur.next;

cur.next=entry;

}public booleanisEmpty(){

Entry cur=this.head;if(cur.next!=this.head){return false;

}return true;

}

删除值为5的所有节点public boolean delete(intval){//此时删除5

Entry prev=this.head;

Entry cur=this.head.next;if(isEmpty()){return false;

}while(cur!=this.head){if(cur.data==val){

prev.next=cur.next;

cur=prev.next;

}else{

prev=cur;

cur=cur.next;

}

}return true;

}/*public void delete(int val){

Entry prev=this.head;

Entry cur=this.head.next;

while(cur!=this.head){

if(cur.data==val){

prev.next=cur.next;

cur=prev.next;

}else{

prev=cur;

cur=cur.next;

}

}

}*/

public intgetlength(){

Entry cur=this.head;int len=0;while(cur.next!=head){

len++;

cur=cur.next;

}returnlen;

}public voidshow(){

Entry cur=this.head.next;while(cur!=this.head){

System.out.println(cur.data+"data");

cur=cur.next;

}

System.out.println();

}

}

java循环单链表比较相等_java的循环单链表相关推荐

  1. java中for的常规用法_Java for循环的几种用法详解

    本文非常适合初学Java的程序员,主要是来了解一下Java中的几种for循环用法,分析得十分详细,一起来看看. J2SE 1.5提供了另一种形式的for循环.借助这种形式的for循环,可以用更简单地方 ...

  2. java单例设计模式懒汉_Java设计模式之单例设计模式(懒汉、饿汉)

    [toc] Java设计模式之单例设计模式(懒汉.饿汉) 相信面试过的初中级Java开发的朋友可能都有遇到过单例设计模式的笔试题吧,如果之前没有背下来或者不理解,可以看看下面这篇文章,应该足够应付笔试 ...

  3. java+循环的时候用标签_java中循环标签的使用

    标签: 以前不知道在循环中可以使用标签.最近遇到后,举得还是有其独特的用处的.我这么说的意思是说标签在循环中可以改变循环执行的流程.而这种改变不是我们以前单独使用break或者是continue能够达 ...

  4. java 只运行一次吗_java程序循环只执行一次的问题

    RT代码如下:Stringrec=reader.readUTF();System.out.println(rec);String[]s=rec.split(",");inti=0; ...

  5. java删除指定目录下文件_Java中循环删除指定目录下的文件

    Java中删除目录下的文件需要实现递归删除: private static void RecuErsionDeleteDisk(File file) { File[] files = file.lis ...

  6. java 查找链表中间元素_java查找链表中间元素_如何通过Java单次查找链表的中间元素...

    java查找链表中间元素 您如何一次找到LinkedList的中间元素是一个编程问题,在电话采访中经常问Java和非Java程序员. 这个问题类似于检查回文或 计算阶乘 ,有时Interviewer还 ...

  7. java单链表存储结构_Java数据结构——单链表

    单链式存储线性列表 线性表的链式存储结构的特点是用一组任意的存储单元存储线性表的数据元素,这组存储单元可以是连续的,也可以是不连续的 (图片来自网络,侵删) 存储单元由两部分组成,数据源和指针,数据源 ...

  8. JAVA实现单链表数据结构_java实现数据结构单链表示例(java单链表)

    /** * 单向链表 * */ public class nodelist { private static class node { // 节点类 e data; // 节点上的数据 node ne ...

  9. java中的语句有哪些_java中的循环语句有哪些

    Java中有三种主要的循环结构: while 循环 do-while 循环 for 循环 顺序结构的程序语句只能被执行一次.如果您想要同样的操作执行多次,,就需要使用循环结构. 一.while循环 语 ...

最新文章

  1. access 按日期分列_excel的分列功能居然这么强大,赶紧收藏起来
  2. 网速、宽带速率运营商说法与用户说法转换
  3. java8 supplier 接口
  4. 机器学习非监督学习—k-means及案例分析
  5. 计算机科学导论课后感悟,计算机科学导论课后总结_2
  6. 类型转换和操作符重载 (c#)
  7. php mb开启,windows环境下如何为php开启mb_string函数库功能
  8. 简单python脚本实例-简单了解python调用其他脚本方法实例
  9. Javascript面向对象编程与继承机制的设计思想(转)
  10. IIS 漏洞工具解析
  11. KEIL4文件无法正常使用
  12. 可视化作品欣赏 | 简单的设计往往就是最好的~~
  13. matlab 合成t检验,[zz]用MATLAB做T检验(ttest)
  14. 2020.04 总结分享
  15. 机器学习之树模型的学习(一):决策树
  16. CS5263|DP转HDMI 4K60HZ转换方案|DP转HDMI 2.0转换电路
  17. 【个人随笔】留下第一个脚印
  18. 周大福心动珠宝,请接收爱的讯号
  19. 华为eNSP企业综合组网(《路由与交换技术》课程综合实验)
  20. QA与测试到底有什么区别?

热门文章

  1. 1013 B. And
  2. spring boot高性能实现二维码扫码登录(中)——Redis版
  3. Codeforces 898E Squares and not squares
  4. Windows 10 Threshold 2 升级记录
  5. 【SHARE】WEB前端学习资料
  6. 微软.NET Framework 4.5.2 RTM正式版
  7. weblogic环境搭建
  8. 50张非常精美的Apple主题桌面壁纸(上篇)
  9. vi 按了ctrl+s怎么办
  10. loadrunner利用虚拟IP测试