schcurr、search、および schtemp という 3 つの同じタイプのリンク リスト ノードがありますが、検索のみにリンクがあります。schcurr と schtemp はリンクされていません。検索を使用して schcurr を配置したい場所を見つけ、schtemp を使用してリンクを保持しています。次の条件が当てはまる場合、schcurr が検索を支配します。そこで、search を schcurr に置き換えたいと思います。検索は既にリストにあり、schcurr はまだ何にも接続されていません。
コードの関連部分を次のように配置しましたが、そこで立ち往生しています:(
PS: TC1 は int で、WF1 は float で、NULL ではありません。
if(schcurr.TC1==search.TC1)
{
if(schcurr.WF1>search.WF1)
{
//schcurr dominates search.
schcurr.next=seach.next;
schcurr.prev=seach.prev;
}
}
ここで、search.prev の next と search.next の prev を修正する必要があります。search.prev.next=schcurr; を設定できないと思います。そして、seach.next.prev=schcurr; できますか?
どんな助けでも大歓迎です。
ノードの情報定義:
struct schedules{
float WF1;
int TC1;
schedules *prev;
schedules *next;
};
struct schedules *sch;
struct schedules *head;
struct schedules *tail;
struct schedules *schtemp;
struct schedules *search;