实现代码:
#include "stdio.h"
#include "malloc.h"
struct ListNode{
int value;
int col;
struct ListNode *next;
};
ListNode * CopyRow ( ListNode* source )
{
ListNode * dest, *p1, *p2,*q;
p2 = ( ListNode* ) malloc ( sizeof ( ListNode ) );
dest = NULL;
q = source;
while ( q != NULL )
{
p1 = ( ListNode* ) malloc ( sizeof ( ListNode ) );
p1->value = q->value;
p1->col = q->col;
p1->next = NULL;
if(dest == NULL){
dest = p1;
}
else{
p2->next = p1;
}
p2 = p1;
q = q->next;
}
return dest;
}
int main()
{
ListNode * head,*p1,*p2;
p1 = ( ListNode* ) malloc ( sizeof ( ListNode ) );
p2 = ( ListNode* ) malloc ( sizeof ( ListNode ) );
p1->value = 1;
p1->col = 1;
p2->value = 2;
p2->col =2;
p1->next = p2;
p2->next = NULL;
head = CopyRow (p1);
while(head)
{
printf("%d,%d\n",head->value,head->col);
head = head->next;
}
return 0;
}