#include <iostream>
using namespace std;
struct ListNode
{
int m_lvaue;
ListNode*m_next;
ListNode()
{
m_lvaue = 0;
m_next = NULL;
}
};
void createListNode(ListNode*&node,int *&arr,int len,int fitstr=0)
{
if (!arr||!len)
{
return;
}
node = new ListNode;
node->m_lvaue = arr[fitstr];
createListNode(node->m_next, arr,len - 1,++fitstr);
}
void deleListNode(ListNode*node)
{
if (!node)return;
deleListNode(node->m_next);
cout << node->m_lvaue << " ";
delete node;
node = NULL;
}
void main()
{
ListNode *root=NULL,*pTall=NULL;
int arr[] = { 12 ,11, 10, 9, 8 ,7 ,6 ,5 ,4, 3, 2, 1, 0 };
int *ptr = arr;
createListNode(root, ptr,sizeof(arr)/sizeof(arr[0]));
int k = 6;
ListNode *p = root;
ListNode*q = root;
for (int i = 0; p&&i < k; p = p->m_next, ++i);
if (!p)return;
while (p)
{
q = q->m_next;
p = p->m_next;
}
cout << q->m_lvaue << endl;
deleListNode(root);
system("pause");
</pre><pre code_snippet_id="1722036" snippet_file_name="blog_20160620_3_691162" name="code" class="cpp">