template <typename T>
struct Node
{
T data;
Node* next;
};
template <typename T>
void push(Node<T>** head, T data)
{
Node<T>* tmp = *head;
Node<T>* newNode = nullptr; //createNode(data);
if (tmp == nullptr)
{
*head = newNode;
}
else
{
while (tmp->next)
tmp=tmp->next;
tmp->next = newNode;
}
}
int main(int argc, const char * argv[])
{
Node<float>* head1 = nullptr;
push(&head1, 1.0f);
Node<int>* head = nullptr;
push(&head, 1);
return 0;
}
dGVtcGxhdGUgPHR5cGVuYW1lIFQ+CnN0cnVjdCBOb2RlCnsKICAgIFQgZGF0YTsKICAgIE5vZGUqIG5leHQ7Cn07Cgp0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4Kdm9pZCBwdXNoKE5vZGU8VD4qKiBoZWFkLCBUIGRhdGEpCnsKICAgIE5vZGU8VD4qIHRtcCA9ICpoZWFkOwogICAgTm9kZTxUPiogbmV3Tm9kZSA9IG51bGxwdHI7IC8vY3JlYXRlTm9kZShkYXRhKTsKCiAgICBpZiAodG1wID09IG51bGxwdHIpCiAgICB7CiAgICAgICAgKmhlYWQgPSBuZXdOb2RlOwogICAgfQogICAgZWxzZQogICAgewogICAgICAgIHdoaWxlICh0bXAtPm5leHQpCiAgICAgICAgICAgIHRtcD10bXAtPm5leHQ7CgogICAgICAgIHRtcC0+bmV4dCA9IG5ld05vZGU7CiAgICB9Cn0KCgppbnQgbWFpbihpbnQgYXJnYywgY29uc3QgY2hhciAqIGFyZ3ZbXSkKewogICAgTm9kZTxmbG9hdD4qIGhlYWQxID0gbnVsbHB0cjsKICAgIHB1c2goJmhlYWQxLCAxLjBmKTsKCiAgICBOb2RlPGludD4qIGhlYWQgPSBudWxscHRyOwogICAgcHVzaCgmaGVhZCwgMSk7CgogICAgcmV0dXJuIDA7Cn0=