以下是問題所在。使用迭代器接口實現鏈接列表
編寫一個將多個(排序)鏈接列表合併到一個排序鏈接列表中的函數。這個 函數應該通過Iterator接口訪問元素(不要直接通過鏈表訪問元素 )。合併過程的參數是一個 迭代器和數組大小的數組。返回值應該是另一個具有 基礎List實現的迭代器。
步驟:
(1)實現與迭代器接口鏈表。 定義單元在列表如下:
typedef struct
{
int idno;
char name[25];
float marks;
} Element;
(a)中列表createList(); (b)列表插入(列表L,元素e);(b)列表插入(列表L,元素e); (c)Void printList(L列表); (d)迭代器initIterator(列表L); (e)布爾hasMoreElements(迭代器I);
(f)iterator moveNext(iterator I);
(2)實現合併功能。
iterator merge(iterator I[],int size)
此功能將合併在由屬性 「標記」下令所有列表中的元素。合併函數應該通過迭代器函數訪問列表。 (3)執行驅動程序功能。
從輸入文件填充列表(作爲支持提供)。調用合併 函數並將數據存儲在結果合併列表中的輸出文件。
支持文件:test1.txt的,的test2.txt,test3.txt,有test4.txt,test5.txt嗎,了test6.txt,包含test7.txt,test8.txt
成果:dataDef.h,mergeOps。 c,mergeOps.h,main.c,output.txt
現在我不想爲此解決方案,但我想知道什麼是迭代器接口。 我從來沒有聽說過它。
我該如何去實現帶有迭代器接口的鏈表。這是什麼意思?
另外它使用的數據類型爲iterator
這將是什麼?
呃,你確定*你在說'c'嗎? –
@Brian Roach我很喜歡..我可以發表其餘的問題.. – Kraken
'Iterator'是一個自定義結構,你可以看看MSDN上的C++等價物 - [iterator Struct](http:///msdn.microsoft.com/en-us/library/x9be4t1b.aspx)。 –