Java链表(LinkNode)的简单操作:初始化,遍历,插入,删除等

更新时间:2023-06-30 15:23:11 阅读: 评论:0

Java链表(LinkNode)的简单操作:初始化,遍历,插⼊,删
除等
由于java中没有结构体,所以⽤⼀个类来定义链表,代码如下
主要包括⼀个data,还有⼀个指向后⾯⼀个节点的next
重写了toString函数,返回你想要的数据
定义链表的类:
package LinkNode;
public class LinkNode {
public String data;
public LinkNode next;
外贸直通车public String getData(){
return data;
}
public void tData(String data){
this.data=data;
}
public LinkNode getNext(){
return next;
}
public void tNext(LinkNode next){
<=next;
}
public LinkNode(String data,LinkNode next){
super();
this.data=data;
<=next;
}
味道的意思
public LinkNode(){
super();
}
@Override
public String toString(){
return "data:"+data+" next->"+next;
}
}
1.初始化链表:
public static void initLinkNode(LinkNode L){
L.tData("#");
L.tNext(null);
}
2.遍历链表,返回链表的长度
public static int traver(LinkNode L){
LinkNode p = L;
int count = 1;
!=null){
p = p.next;
count++;
}
return count;
}
3.把链表L的data转化为StringBuffer输出,输出结果为字符串关于自强不息的名言
public static StringBuffer outputLinkNode(LinkNode L){
怎么描写春天StringBuffer str = new StringBuffer("");
LinkNode p = L;
for(@SuppressWarnings("unud")
int i=0;;){
str.append(p.data);
机遇
!=null){
p = p.next;
}
el{
break;
}
}
return str;
}
4.在链表L的尾部插⼊⼀个节点,值为data
public static void inrtLinkNode(LinkNode L,String data){
LinkNode p = L;
LinkNode q = new LinkNode();
for(@SuppressWarnings("unud")
int i=0;;){
==null){
q.tData(data);
q.tNext(null);
p.tNext(q);
System.out.println("Inrt "+data+" success.");
break;
读后感要怎么写}
简历表格下载el{
p = p.next;
}
}
}
5.删除第n个节点(从0开始)
public static void deleteLinkNode(LinkNode L,int n){
int count = 1;
LinkNode p = L;
for(@SuppressWarnings("unud")
int i;;){
if(count == n){
p.ext);
break;日本花道
}
el{
count++;
p = p.next;
}
}
}
6.从index=n开始遍历,如果后⾯出现str,则返回true否则返回fal public static int lastIndex(LinkNode L,String str){
LinkNode p = L;
int flag = 0;
for(int i=0;i<traver(L);i++){
if(p.data==str){
//System.out.println(i);
flag = i;
}
p = p.next;
}
return flag;
}
测试程序:
package LinkNode;
public class Quarrel extends Method{
public static void main(String[] args){
LinkNode L = new LinkNode();
System.out.println("初始化:");
initLinkNode(L);
System.out.String());
System.out.println("插⼊节点:"); inrtLinkNode(L,"R");
inrtLinkNode(L,"R");
inrtLinkNode(L,"L");
inrtLinkNode(L,"L");
inrtLinkNode(L,"R");
inrtLinkNode(L,"L");
System.out.String());
int count = traver(L);
System.out.println("节点个数:"+count); StringBuffer str = outputLinkNode(L);
System.out.println(str);
//最后⼀个L的位置
int lastindex = lastIndex(L,"L");
System.out.println("最后⼀个L的位置:"+lastindex); System.out.println("删除⼀个节点"); deleteLinkNode(L,2);
count = traver(L);
System.out.println("节点个数:"+count);
str = outputLinkNode(L);
System.out.println(str);
System.out.String());
}
}
结果如下:

本文发布于:2023-06-30 15:23:11,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1070424.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:链表   返回   节点   输出   遍历   定义
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图