1.定義乙個結點類
valnext
class
listnode
:def
__init__
(self, x)
: self.val = x
self.
next
=none
2.定義單鏈表 :(單鏈表是由乙個乙個結點構成)在結點類的基礎上
class
linklist
:#新建乙個頭指標為空的鍊錶
def__init__
(self)
: self.head=
none
#將資料插入鍊錶:
(這裡必須要說的是最後返回鍊錶的頭指標)
definitlist
(self, data)
:# 建立頭結點
self.head = listnode(data[0]
) r=self.head
p = self.head
# 逐個為 data 內的資料建立結點, 建立鍊錶
for i in data[1:
]:node = listnode(i)
p.next
= node
p = p.
next
return r
defprintlist
(self,head)
:if head ==
none
:return
node = head
while node !=
none
:print
(node.val,end=
' ')
node = node.
next
完整**:
class
listnode
:def
__init__
(self, x)
: self.val = x
self.
next
=none
class
linklist
:def
__init__
(self)
: self.head=
none
definitlist
(self, data)
:# 建立頭結點
self.head = listnode(data[0]
) r=self.head
p = self.head
# 逐個為 data 內的資料建立結點, 建立鍊錶
Python 單鏈表的初始化 賦值 輸出
1.定義乙個結點類 valnext class listnode def init self,x self.val x self.next none 2.定義單鏈表 單鏈表是由乙個乙個結點構成 在結點類的基礎上 class linklist 新建乙個頭指標為空的鍊錶 def init self se...
單鏈表的初始化
方法一 include using namespace std struct listnode class solution cout head val return positiveoutput head next 該函式的作用是倒序輸出結點值 listnode reverseoutput lis...
初始化 賦值 拷貝
折騰我挺長一段時間,基本挺明白了,先來個區別說明 賦值操作是在兩個已經存在的物件間進行的,而初始化是要建立乙個新的物件,並且其初值 於另乙個已存在的物件。編譯器會區別這兩種情況,賦值的時候呼叫過載的賦值運算子,初始化的時候呼叫拷貝建構函式。如果類中沒有拷貝建構函式,則編譯器會提供乙個預設的。這個預設...