-1

投稿の 1 つで、 C で 2 つの並べ替えられたリストをマージするための答えとして、以下のコードを見ました。

#define SWAP_PTRS(a, b) do { void *t = (a); (a) = (b); (b) = t; } while (0)

Node* MergeLists(Node* list1, Node* list2) 
{
  Node *list = NULL, **pnext = &list;

  if (list2 == NULL)
    return list1;

  while (list1 != NULL)
  {
    if (list1->data > list2->data)
      SWAP_PTRS(list1, list2);

    *pnext = list1;
    pnext = &list1->next;
    list1 = *pnext;
  }

  *pnext = list2;
  return list;
}

誰かがこれを疑似コードテキストとして説明してもらえますか? 同じ回答でコメントできないため、新しい質問として投稿します。

4

1 に答える 1