C++は2つの秩序チェーンテーブルの共通部分を印刷する方法を実現する

1144 ワード

本明細書の例では、C++が2つの順序付きチェーンテーブルの共通部分を印刷する方法について説明する.皆さんの参考にしてください.具体的には以下の通りです.
タイトル:
2つの整列チェーンテーブルのヘッダポインタhead 1およびhead 2が与えられ、2つのチェーンテーブルの共通部分が印刷される.
解題の構想とコード:
1、head 1の値がhead 2より小さい場合、head 1が2より下に移動し、head 1の値がhead 2より小さい場合、head 2が3より下に移動し、等しい場合、チェーンテーブルノードの値を印刷し、head 1とhead 2はいずれも下に移動する.4.head 1またはhead 2がNULLに移動すると、終了する.
アルゴリズムC++コード:

typedef struct Node
{
  int data;
  struct Node* next;
}node, *pLinkedlist;
void printCommomElem(pLinkedlist head1, pLinkedlist head2)
{
  cout << "print commom elements: " << endl;
  while (head1->next != NULL && head2->next != NULL)
  {
    if (head1->data < head2->data)
      head1 = head1->next;
    else if (head1->data > head2->data)
      head2 = head2->next;
    else
    {
      cout << head1->data << " ";
      head1 = head1->next;
      head2 = head2->next;
    }
  }
  cout << endl;
}


本稿で述べたことが皆さんのC++プログラム設計に役立つことを願っています.