アルゴリズム 線形リスト
Posted: 2013年4月30日(火) 18:37
線形リストの勉強をしているんですが全く分かりません。
ですが丸投げはダメなのでどのようにかいていったらいいか手順を教えてくれませんか?
次の関数を動かすためにおのおの定義していく問題
①
void delete( Node *p )
p で指定された要素の次の要素を削除する手続き.
②
Node* first( Node *head )
head で指定されるリストの最初の要素を指すポインタを返す.リストが空ならば NULL を返す.
③
Node* last( Node *head )
head で指定されるリストの最後の要素を指すポインタを返す.リストが空ならば NULL を返す.
④
Node* next( Node *p, Node *head )
p で指定される次の要素を指すポインタを返す.p がリストの最後尾であれば NULL を返すこと
⑤
Node* prev( Node *p, Node *head )
head で指されるリスト中の内,p で指定される前の要素を指すポインタを返す. p がリストの先頭であれば NULL を返す.
⑥
Node* locate( int i, Node *head )
head で指定されるリストの先頭から i 番目の要素のポインタを返す.存在しない場合は NULL を返す.
ですが丸投げはダメなのでどのようにかいていったらいいか手順を教えてくれませんか?
次の関数を動かすためにおのおの定義していく問題
①
void delete( Node *p )
p で指定された要素の次の要素を削除する手続き.
②
Node* first( Node *head )
head で指定されるリストの最初の要素を指すポインタを返す.リストが空ならば NULL を返す.
③
Node* last( Node *head )
head で指定されるリストの最後の要素を指すポインタを返す.リストが空ならば NULL を返す.
④
Node* next( Node *p, Node *head )
p で指定される次の要素を指すポインタを返す.p がリストの最後尾であれば NULL を返すこと
⑤
Node* prev( Node *p, Node *head )
head で指されるリスト中の内,p で指定される前の要素を指すポインタを返す. p がリストの先頭であれば NULL を返す.
⑥
Node* locate( int i, Node *head )
head で指定されるリストの先頭から i 番目の要素のポインタを返す.存在しない場合は NULL を返す.