1
リストを削除し、フロントエンドとバックエンドリストを追加して新しいリストを生成したいと思います。ここでリンクリストからのリストの削除と追加
forall([X8,X9],implies(connected(X8,X9),exists([V],and(or(equal(h_1(X8),U),equal(h_2(X8),U)),connected(U,X9)))
すべてのシンボルは、次のとおりです。私のような言葉を持っているこれら二つの構造を使用して
typedef struct term {
SYMBOL symbol;
union {
LIST termlist;
struct term* term;
} super;
LIST args;
NAT stamp;
NAT size;
} *TERM, TERM_NODE;
typedef struct LIST_HELP {
struct LIST_HELP *cdr;
POINTER car;
} LIST_NODE;
typedef LIST_NODE *LIST;
:私は、次の2つの構造を持っています。 forall
がシンボルの場合、残りはforall
の引数として動作するとします。 Term
で構成された種類のTerm
です。私はこれから[V]
を削除し、それの前後にリストを追加したいと思います。どうすればいいのか教えていただけますか?
あなたの 'term'構造体では、' LIST'はどこに定義されていますか? 'POINTER'は' LIST_HELP'構造体でどこに定義されていますか? – Davidann
LIST_HELPはリンクされたリストです。言い換えれば、argsはリストです。これはLIST args.soとして定義されています。したがって、用語はシンボルとその引数として構築されます。 – thetna