91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

06-單向鏈表

發布時間:2020-07-28 07:57:59 來源:網絡 閱讀:150 作者:qq58ca2992a1bde 欄目:編程語言

1,鏈表是以節點的方式來存儲的;

2,每個節點包含data域、next域:指向下一個節點;

3,鏈表的每個節點不一定是連續的;

4,鏈表分帶頭節點的鏈表,和不帶頭節點的鏈表,根據實際情況來決定。

帶頭節點的單向鏈表

頭節點

1,存放具體數據

2,作用就是作為單鏈表的頭

帶頭節點的單鏈表

添加(創建)

1,先創建一個頭結點

2,添加其他節點,直接加入到鏈表的最后

package?com.datastack.linkedlist;

public?class?SimpleLinkedList?{
	public?HeroNode?head?=?new?HeroNode(0,"","");//頭結點
	
	/**
	?*?添加方法:不考慮順序添加
	?*?1,找到最后節點
	?*?2,將最后節點的next指向?新的節點
	?*?@param?heroNode
	?*/
	public?void?add(HeroNode?heroNode){
		HeroNode?temp?=?head;
		while(true){
			if(temp.next?==?null){
				break;
			}
			temp?=?temp.next;
		}
		temp.next?=?heroNode;
	}
	
	/**
	?*?按編號從小到大順序添加
	?*?@param?heroNode
	?*/
	public?void?addByOrder(HeroNode?heroNode){
		HeroNode?temp?=?head;
		boolean?flag?=?false;//標識添加的編號是否存在
		while(true){
			if(temp.next?==?null){
				break;
			}
			if(temp.next.no?>?heroNode.no){
				break;
			}else?if(temp.next.no?==?heroNode.no){
				flag?=?true;
				break;
			}
			temp?=?temp.next;
		}
		if(flag){
			System.out.printf("準備插入的英雄的編號?%d?已存在,不能添加\n",heroNode.no);
		}else{
			heroNode.next?=?temp.next;
			temp.next?=?heroNode;
		}
		
	}

	/**
	?*?顯示鏈表
	?*/
	public?void?list(){
		//判斷鏈表是否為空
		if(head.next?==?null){
			System.out.println("鏈表為空");
			return;
		}
		HeroNode?temp?=?head.next;
		while(true){
			if(temp?==?null){
				break;
			}
			System.out.println(temp);
			temp?=?temp.next;
		}
	}
	
	/**
	?*?修改
	?*?@param?heroNode
	?*/
	public?void?update(HeroNode?heroNode){
		HeroNode?temp?=?head.next;
		boolean?flag?=?false;//表示是否找到該節點
		while(true){
			if(temp?==?null){
				break;
			}
			if(temp.no?==?heroNode.no){
				flag?=?true;
				break;
			}
			temp??=?temp.next;
		}
		if(flag){
			temp.name?=?heroNode.name;
			temp.nickname?=?heroNode.nickname;
		}else{
			System.out.println("沒有找到要修改的編號");
		}
	}
	
	/**
	?*?刪除
	?*?@param?heroNode
	?*/
	public?void?delete(int?no){
		HeroNode?temp?=?head;
		boolean?flag?=?false;//是否找到要刪除的節點
		while(true){
			if(temp.next?==?null){
				break;
			}
			if(temp.next.no?==?no){
				flag?=?true;
				break;
			}
			temp?=?temp.next;
		}
		if(flag){
			temp.next?=?temp.next.next;
		}else{
			System.out.println("沒有找到要刪除的節點");
		}
		
	}
}
package?com.datastack.linkedlist;

public?class?HeroNode?{
	public?int?no;
	public?String?name;
	public?String?nickname;//昵稱
	public?HeroNode?next;//下一個節點
	
	//構造器
	public?HeroNode(int?no,String?name,String?nickname){
		this.no?=?no;
		this.name?=?name;
		this.nickname?=?nickname;
	}
	
	//打印
	public?String?toString(){
		return?"HeroNode?[no="+no+",name="+name+",nickname="+nickname+"]";
	}
	
}
package?com.datastack.linkedlist;

public?class?SimpleLinkedListDemo?{
	public?static?void?main(String[]?args)?{
		HeroNode?hero1?=?new?HeroNode(1,?"宋江",?"及時雨");
		HeroNode?hero3?=?new?HeroNode(3,?"吳用",?"智多星");
		HeroNode?hero2?=?new?HeroNode(2,?"盧俊義",?"王麒麟");
		HeroNode?hero4?=?new?HeroNode(4,?"林沖",?"爆炸頭");
		
		SimpleLinkedList?linkedList?=?new?SimpleLinkedList();
		linkedList.addByOrder(hero1);
		linkedList.addByOrder(hero4);
		linkedList.addByOrder(hero2);
		linkedList.addByOrder(hero3);
		
		linkedList.list();
		
		HeroNode?heroNode?=?new?HeroNode(2,?"wuyong",?"wy");
		linkedList.update(heroNode);
		System.out.println("修改后");
		linkedList.list();
		System.out.println("刪除后");
		linkedList.delete(1);
		linkedList.list();
		System.out.println("刪除后");
		linkedList.delete(4);
		linkedList.list();
	}
}


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

高雄市| 罗城| 东辽县| 林芝县| 通渭县| 屏边| 黄陵县| 巧家县| 荆门市| 青川县| 绍兴市| 图片| 开平市| 德化县| 镶黄旗| 河间市| 鄢陵县| 高台县| 济南市| 长寿区| 忻州市| 浦东新区| 湟源县| 锡林浩特市| 志丹县| 博客| 盘山县| 张家港市| 曲周县| 满洲里市| 时尚| 屯留县| 酉阳| 温泉县| 雅安市| 宽甸| 柳州市| 商水县| 永安市| 子长县| 衡南县|