java链表英文_java链表

classProvince1{private intpid;privateString pname;private Link2 cities = newLink2();publicLink2 getCities(){return this.cities;

}public Province1(intpid,String pname){this.pid=pid;this.pname=pname;

}publicString getInfo(){return "省份编号"+this.pid+"省份名称"+this.pname;

}public booleancompare(Province1 province){if (this ==province){return true;

}if (province == null){return false;

}if(this.pid == province.pid && this.pname.equals(province.pname)){return true;

}return false;

}

}classCity{private intcid;privateString cname;privateProvince1 province;public voidsetProvince(Province1 province){this.province =province;

}publicProvince1 getProvince(){return this.province;

}public City(intcid,String cname){this.cid=cid;this.cname=cname;

}publicString getInfo(){return "城市编号:"+this.cid+",城市名称:"+this.cname;

}public booleancompare(City city){if(this ==city){return true;

}if (city == null){return false;

}if (this.cid==city.cid && this.cname.equals(city.cname)){return true;

}return false;

}

}classLink2{classNode{privateCity data;privateNode next;publicNode (City city){this.data =city;

}public voidadd(Node newNode){if(this.next==null){this.next =newNode;

}else{this.next.add(newNode);

}

}public voidprint(){

System.out.println(this.data);if (this.next!=null){this.next.print();

}

}public booleanisContains(City data){if(data.compare(this.data)){return true;

}else{if(this.next!=null){return this.next.isContains(data);

}else{return false;

}

}

}public voiddeleteNode(City data){if(data.compare(this.data)){if(this.next!=null){

root= this.next;

}else{

root=null;

}

}else{if(this.next!=null){if(this.next.isContains(data)){this.next = this.next.next;

}

}else{return;

}

}

}public City getNode(intindex){if(Link2.this.foot++ ==index){return this.data;

}else{return this.next.getNode(index);

}

}public void modiNode(intindex,City data){if(index == Link2.this.foot++){this.data =data;

}else{this.next.modiNode(index,data);

}

}//第一次调用(Link),this=Link.root//第二次调用(Node),this=Link.root.next

public voidtoArrayNode(){

Link2.this.retArray[Link2.this.foot++] = this.data;if(this.next!=null){this.next.toArrayNode();

}

}

}//===========以上为内部类定义========// privateNode root;private int count = 0;private int foot = 0;private City [] retArray; //返回的数组

public voidaddNewNode(City data){

Node newNode= newNode(data);if(this.root==null){this.root =newNode;

}else{this.root.add(newNode);

}

count++;

}public voidprintNode(){if (this.root!=null){this.root.print();

}

}public intgetSize(){return this.count;

}public booleanisEmpty(){return this.count == 0;

}public booleanisContains(City data){if (data == null || this.root==null){return false;

}else{return this.root.isContains(data);

}

}public voiddeleteNode(City data){if(this.root.isContains(data)){

count--;this.root.deleteNode(data);

}else{return;

}

}public City getNode(intindex){

foot= 0;if(index>this.count){return null;

}else{return this.root.getNode(index);

}

}public void modiNode(intindex,City data){if (index>this.count){return;

}else{this.root.modiNode(index,data);

}

}publicCity [] toArray(){if(this.root == null){return null;

}this.foot = 0; //脚标控制

this.retArray = new City[this.count]; //根据保存内容开辟数组

this.root.toArrayNode();return this.retArray;

}

}public classLinkDemo4 {public static voidmain(String[] args) {//Link2 link1 = new Link2();//准备对象

Province1 province1 = new Province1(1,"jiangsu");

City city1= new City(1,"yangzhou");

City city2= new City(2,"yancheng");

City city3= new City(3,"huaian");//设置关系

city1.setProvince(province1);

city2.setProvince(province1);

city3.setProvince(province1);

province1.getCities().addNewNode(city1);

province1.getCities().addNewNode(city2);

province1.getCities().addNewNode(city3);//第二步:取出关系

System.out.println(province1.getInfo());

System.out.println("包含的城市数量:"+province1.getCities().getSize());

City [] city=province1.getCities().toArray();

System.out.println("删除前的城市信息:");for (int x = 0 ; x

System.out.println(city[x].getInfo());

}

System.out.println("是否包含yancheng:"+province1.getCities().isContains(new City(2,"yancheng")));

System.out.println("删除yancheng:");

province1.getCities().deleteNode(new City(2,"yancheng"));

City [] c=province1.getCities().toArray();for(City x:c){

System.out.println(x.getInfo());

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值