本人对链表这一部分内容掌握的一直不太好,现在总结如下,代码全部在myeclipse下运行通过
1、链表的创建,插入和删除,查找
class Lnode
{
private int val;
private Lnode next;
public int getVal() {
return val;
}
public void setVal(int val) {
this.val = val;
}
public Lnode getNext() {
return next;
}
public void setNext(Lnode next) {
this.next = next;
}
}
public class LinkList {
public Lnode head=new Lnode();
public void creatLinkList(int[] arr)
{
Lnode tail=head;
for(int i=0;i<arr.length;i++)
{
Lnode newNode=new Lnode();
newNode.setVal(arr[i]);
newNode.setNext(null);
tail.setNext(newNode);
tail=newNode;
}
}
//打印链表中数据
public void printlink()
{
Lnode ptr;//实例化一个节点
ptr=head.getNext();//该节点取得头结点的后继节点
while(ptr!=null){
System.out.print(ptr.getVal()+"->");
ptr=ptr.getNext();
}
System.out.println();
}
//插入数据
public void insertlink(int pos,int value){//两个参数,一个表示插入的位置,另一个表示插入的值
int index=0;
Lnode ptr;
Lnode pnew;//实例化新节点
ptr=head.getNext();
while(ptr!=null){
index++;
if(pos==index){
pnew=new Lnode();
pnew.setVal(value);
pnew.setNext(ptr.getNext());
ptr.setNext(pnew);
System.out.println("插入数据"+value+"成功!");
break;
}
else{
ptr=ptr.getNext();
}
}
if(ptr==null)
System.out.println("插入数据失败!");
}
//删除结点
public void deletelink(int value){
Lnode ptr=head.getNext();
Lnode p=head;
while(ptr!=null)
{
if(ptr.getVal()==value)
{
p.setNext(ptr.getNext());
System.out.println("删除数据"+value+"成功!");
break;
}
else
{
p=ptr;
ptr=ptr.getNext();
}
}
if(ptr==null){
System.out.println("链表中没有要删除的数据!");
}
}
//查找结点
public void seachlink(int value){
Lnode ptr;
ptr=head.getNext();
while(ptr!=null){//在节点非空的情况下寻找匹配的的值
if(value==ptr.getVal()){//匹配成功是
System.out.println("找到数据:"+ptr.getVal());
break;//退出循环
}
else{//当当前值不是要查找的值时,查找下一个
ptr=ptr.getNext();
}
}
if(ptr==null)//链表遍历完毕,没有找到时
System.out.println("链表中没有要查找数据");
}
public static void main(String args[])
{
int a[]={1,4,5,6,7};
LinkList list=new LinkList();
list.creatLinkList(a);
System.out.println(" 链表输出如下:");
list.printlink();
list.insertlink(2,100);
list.printlink();
list.deletelink(100);
list.printlink();
list.seachlink(7);
list.seachlink(100);
}
}
5万+

被折叠的 条评论
为什么被折叠?



