// consoleTest.cpp : Defines the entry point for the console application. // #include " stdafx.h " #include < malloc.h > int add( int a, int b) ... { return (a+b);} typedef struct node ... { int data; struct node *next;} List, * NODE;typedef struct link ... { NODE data; struct link *next;} linknode, * Link;NODE create() ... { int a[]=...{1,2,3,4,5,6}; int i=0; NODE head=NULL; NODE rear=NULL; NODE temnode; while(i<6) ...{ temnode=(List *)malloc(sizeof(List)); temnode->data=a[i]; temnode->next=NULL; if(head==NULL) ...{ head=temnode; rear=head; } else ...{ rear->next=temnode; rear=rear->next; } i++; } return head;} // create with circle NODE createCircle() ... { int a[]=...{1,2,3,4,5,6}; int i=0; NODE head=NULL; NODE rear=NULL; NODE temnode; NODE secondNode=NULL; while(i<6) ...{ temnode=(List *)malloc(sizeof(List)); temnode->data=a[i]; temnode->next=NULL; if(head==NULL) ...{ head=temnode; rear=head; } else ...{ rear->next=temnode; rear=rear->next; } if(i==1) ...{ secondNode=temnode; } i++; } rear->next=secondNode; return head;} int check(NODE head) ... { Link linkhead=NULL; Link temLink=NULL; Link rearNode=NULL; Link tt=NULL; NODE temNode=head; while(temNode!=NULL) ...{ tt=(Link)malloc(sizeof(linknode)); tt->data=temNode; tt->next=NULL; if(linkhead==NULL) ...{ linkhead=tt; rearNode=tt; } else ...{ temLink=linkhead; while(temLink!=NULL) ...{ if(temLink->data==temNode) ...{ return 1; //printf("1"); } temLink=temLink->next; } rearNode->next=tt; rearNode=rearNode->next; } temNode=temNode->next; } return 0;} void output(NODE head) ... { NODE tem=head; while(tem!=NULL) ...{ printf("%d ",tem->data); tem=tem->next; }} int main( int argc, char * argv[]) ... { NODE head=create(); output(head); printf(" "); NODE headCircle=createCircle(); printf("%d",check(headCircle)); printf(" "); return 0;}