ここに問題があります。イテレータインターフェイスでリンクリストを実装する
複数の(ソートされた)リンクリストを1つのソートリンクリストにマージする機能を記述します。この 関数は、イテレータインターフェイスを介して要素にアクセスする必要があります(リンクされたリストを介して要素 に直接アクセスしないでください)。マージプロシージャの引数は、 イテレータの配列と配列のサイズです。戻り値は、 のList実装を持つ別のIteratorである必要があります。
手順:
(1)イテレータインターフェイスでリンクリストを実装する。 は、以下のようにリストの要素を定義します。
typedef struct
{
int idno;
char name[25];
float marks;
} Element;
(a)の一覧createList();
(b)リスト挿入(リストL、エレメントe)。
(c)Void printList(List L);
(d)イテレータinitIterator(リストL);
(e)boolean hasMoreElements(イテレータI);
(f)イテレータmoveNext(イテレータI);
(2)マージ機能を実装する。
iterator merge(iterator I[],int size)
この関数は、属性 「マーク」が注文したすべてのリストの要素をマージします。 Merge関数は反復子関数を介してリストにアクセスする必要があります。
(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
のデータ型を使用します。
Erm、確かにあなたは 'c'について話していますか? –
@Brian Roach私はかなりです..質問の残りの部分を投稿することもできます。 – Kraken
'Iterator'はカスタム構造体です。MSDNの[C++ +++ iterator Struct](http:// iterator構造体) /msdn.microsoft.com/en-us/library/x9be4t1b.aspx)。 –