#include<iostream>
using namespace std;class node{
public:
node():value(0),next(NULL){}
~node(){}
int value;
node* next;
};///be careful this ;node* createlist(int a[],int n)
{
node* startnode = new node[n];
node* ret = startnode;
for(int i = 0;i<n;i++)
{
startnode[i].value = a[i];
if(i<n-1)
startnode[i].next = startnode + i + 1;
}
while(startnode)
{
cout<<" "<<startnode->value;
startnode = startnode->next;
}
cout<<endl;
return ret;
}void helper(node* head)
{
node* temp = head;
while(head->next != NULL && head->next->next != NULL)
{
head = head->next->next;
temp = temp->next;
}
cout<<temp->value; ///如果是奇数个,就是中间,如果是偶数个,指向第一个
}int main()
{
int a[] = {1,2,3,4,5,6,7,8,9};
node * t = createlist(a,8);
helper(t);}
求链表的中心节点