c++ベースのチェーンテーブルノードの挿入と削除
1632 ワード
ノードを順番に挿入する各ノードが挿入される場合、順番に挿入されるので、最終的にこのチェーンテーブルは順番に並べられます.
どのように順番に挿入しますか?方法:挿入時にチェーンテーブルを巡回し、IDの値を比較し、ターゲット位置を見つけます.注:チェーンテーブル挿入のコア操作は、ターゲットの位置を見つけ、前のノードpreを記録することです.新しいノードはpreの後ろに直接掛けておけばいいので、この操作は簡単です.
ノードの削除:pre->next=obj->next;free(obj);
どのように順番に挿入しますか?方法:挿入時にチェーンテーブルを巡回し、IDの値を比較し、ターゲット位置を見つけます.注:チェーンテーブル挿入のコア操作は、ターゲットの位置を見つけ、前のノードpreを記録することです.新しいノードはpreの後ろに直接掛けておけばいいので、この操作は簡単です.
obj->next=pre->next;
pre->next=obj;
int insert(Student* obj)
{
Student* cur=m_head.next;// current
Student* pre=&m_head;// previous
while(cur)
{
if(obj->id<cur->id)//
break;
pre=cur;
cur=cur->next;//
}
// pre
obj->next=pre->next;
pre->next=obj;
return 0;
}
ノードの削除:pre->next=obj->next;free(obj);