問題描述:用鏈式存儲方式實現隊列的基本操作
涉及變量:front:Node型自定義變量,指向隊首元素
rear:Node型自定義變量,指向隊尾元素
涉及教材:《數據結構——Java語言描述(第2版)》 清華大學出版社
大致思路:
鏈式存儲結構不害怕出隊列會浪費空間,因此也不需要要循環結構來節約空間
front為指向隊首結點的指針
rear為指向隊尾結點的指針
初始化時它們均指向空
初始化代碼如下:
隊列的置空方法與初始化相類似
而判斷隊列是否為空只需要判斷隊首指針是否指向非空元素即可
代碼如下:
求長度與陳列元素方法有異曲同工之妙
同樣是挨個判斷元素是否為空后再進行選擇
在求長度方法中,若不為空,則長度變量自增加1
在陳列元素中,若不為空,則輸出元素
代碼如下:
入隊列,在隊列為空時,將隊首指針和隊尾指針同時指向插入的元素
若不為空,則改變原隊尾元素的指向和隊尾指針的指向
出隊列:在隊首指針不指向空時,開始出隊列操作,移動隊首指針
若出隊列的是隊尾元素,則出隊列后隊列為空,將隊尾指針指向空
取隊首元素:只需要返回隊首元素的數據域即可
以上是我對鏈式隊列的基本操作的實現問題的一些看法,希望對各位有所幫助
190125 Rewivy