链表的初始化
#include <stdio.h>
#include <stdlib.h>
typedef struct Node
{
int data;
struct Node *next;
}Link;
Link *initLink()
{
Link *head = (Link *)malloc(sizeof(Link));
if(head != NULL)
{
head->data = 0;
head->next = head;
return head;
}
return NULL;
}
int main()
{
Link *head = initLink();
if(head == NULL)
{
exit(0);
}
return 0;
}
头插法插入新结点形成链表
#include <stdio.h>
#include <stdlib.h>
typedef struct Node
{
int data;
struct Node *next;
}Link;
Link printfLink(Link *head)
{
Link *point = head->next;;
while(point != head)
{
printf("%d\t", point->data);
point = point->next;
}
printf("\n");
}
Link *initLink()
{
Link *head = (Link *)malloc(sizeof(Link));
if(head != NULL)
{
head->data = 0;
head->next = head;
return head;
}
return NULL;
}
Link *headInsert(Link *head, int num)
{
Link *point = head;
Link *new = (Link *)malloc(sizeof(Link));
if(new != NULL)
{
new->data = num;
new->next = point->next;
point->next = new;
head->data ++;
return head;
}
return NULL;
}
int main()
{
int i;
int pos;
Link *head = initLink();
if(head == NULL)
{
exit(0);
}
for(i=1;i<6;i++)