Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
v
nil o -> o -> o -> nil
^
v
nil <- o o -> o -> nil
^
v
nil <- o <- o o -> nil
^
v
nil <- o <- o <- o nil
^
- struct CNode
- {
- CNode(int value = 0): m_value(value), m_pNextNode(0) { }
- int m_value;
- CNode *m_pNextNode;
- };
- // Returns new head.
- CNode* reverseList(CNode *pHead)
- {
- if (!pHead->m_pNextNode)
- return pHead;
- CNode *pCurrentNode = pHead;
- CNode *pNextNode = 0;
- CNode *pPrevNode = 0;
- do
- {
- pNextNode = pCurrentNode->m_pNextNode;
- pCurrentNode->m_pNextNode = pPrevNode;
- pPrevNode = pCurrentNode;
- pCurrentNode = pNextNode;
- } while (pNextNode);
- return pPrevNode;
- }
struct CNode
{
CNode(int value = 0, CNode* next = NULL): m_value(value), m_pNextNode(next) { }
int m_value;
CNode *m_pNextNode;
};
// Returns new head.
CNode* reverseList(CNode *input)
{
CNode *output = NULL;
while(input != NULL)
{
output = new CNode(input->m_value, output);
input = input->m_pNextNode;
}
return output;
}
какова максимальная сложность вставки N элементов в vector
Настоящие программисты, где же вы?