我需要模擬一個C類鏈接列表。 我的問題是保存信息,如列表長度,頭,最後節點和平均每個「對象」創建。 含義像progeram C列表類
List *A = ctor()
addItem(A, 0)
以及檢查的名單長度將返回2 但如果我不叫B中的另一列表,並添加其他兩個項目,它會顯示3 我不允許使用循環中任何函數(不包括析構函數 - 沒有遞歸和轉到) 老實說,我不能想出一種方法來保存每個「對象」的信息(現在缺少另一個詞) 有什麼建議嗎? 一切都在C 我不想因爲我仍然需要保存不同的信息對每個實例使用簡單的全局變量(中字)
編輯:
結構包含:
int value
List *next
List *previous
,並且不能包含任何多個值
編輯2
我可以添加更多的字段的struct
的要求是: 不要使用循環,遞歸,轉到
列表功能:
1)構造 - 創建一個新的列表
2)破壞 - 刪除所有節點(可以使用該功能中的循環)
3)添加節點
4)刪除節點 - 給定一個指向節點
5)返回列表
6)的長度返回指針到第一節點
7)返回一個指針,指向最後一個節點
8)返回一個指針到下一個節點(給定指針當前)
9)返回一個指向前一節點(給定指針當前)
10)中的節點的返回值(給出一個指向該節點)的列表
11)返回平均值
那它時,這些功能是非常基本的,當所述指令不那麼
限制性
我不知道這是否有很大幫助
使用'struct'來包含所需的數據。類只是具有自動構造函數/析構函數和相關函數的「struct」。 – Kupiakos
「檢查A的列表長度將返回2」。爲什麼?你已經添加了1項,長度是2?無論如何,爲什麼你不能在List結構中添加一個計數器字段呢?並添加更多的領域,你需要跟蹤的任何其他事情。 – kaylum
太寬了。但是要做一些自我檢索。關鍵字可能是「面向對象的C編程」 – Olaf