トレーニング>チェーンテーブルの逆シーケンス印刷、チェーンテーブルのテールプラグ.
8497 ワード
スタックの先進的な後出を利用して、まずチェーンテーブルを貯蔵する.スタックのタイプはNode*(チェーンテーブルのノードを格納するため)、コピー時の境界判断はstackのpush(),top(),pop()メソッドを使用することに注意してください.チェーンテーブルの末尾にパラメータを挿入するときにチェーンテーブルの2次ポインタを渡します.
#include
#include
using namespace std;
struct Node
{
int value;
Node* next;
};
///
//
void BackPint(Node* sql)
{
std::stack<Node*> stack;
Node* node = sql;
while (node != NULL)
{
stack.push(node);
node = node->next;
}
while (!stack.empty())
{
node = stack.top();
cout << node->value << " ";
stack.pop();
}
}
///
void PushBack(Node** sql, int val)
{
Node * node = new Node;
node->value = val;
node->next = NULL;
if (*sql == NULL)
{
*sql = node;
return;
}
//
Node *cur = *sql;
while (cur->next != NULL)
{
cur = cur->next;
}
cur->next = node;
}
int main()
{
Node* list=NULL;
PushBack(&list, 1);
PushBack(&list, 2);
PushBack(&list, 3);
PushBack(&list, 4);
PushBack(&list, 5);
PushBack(&list, 6);
PushBack(&list, 7);
BackPint(list);
system("pause");
}