#include<stdio.h>
#include<stdlib.h>
struct Test
{
int data;
struct Test* next;
};
int insertFromBehind(struct Test* head, int data, struct Test* new)
{
struct Test* p = head;
while (p != NULL)
{
if (p->data == data)
{
new->next = p->next;
p->next = new;
return 1;
}
p = p->next;
}
return 0;
}
struct Test* insertFromfor(struct Test* head, int data, struct Test* new)
{
struct Test* p = head;
if (p->next == data)
{
new->next = head;
return new;
}
while (p->next != NULL)
{
printf("data=%d,point=%d\n", p->next->data, data);
if (p->next->data == data)
{
new->next = p->next;
p->next = new;
printf("inster ok\n");
return head;
}
p = p->next;
}
printf("no this data:%d/n", data);
return head;
}
void printlink(struct Test* head)
{
struct Test* point;
point = head;
while (point != NULL)
{
printf("%d", point->data);
point = point->next;
}
putchar('\n');
}
int getlinkNum(struct Test* head)
{
int cnt = 0;
struct Test* p = head;
while (p != NULL)
{
cnt++;
p = p->next;
}
return cnt;
}
struct Test* deletNode(struct Test* head, int data)
{
struct Test* p = head;
if (p->data = data)
{
head = head->next;
free(p);
}return head;
while (p->next != NULL)
{
if (p->next->data == data)
{
//struct Test* tmp = p;
p->next = p->next->next;
//free(tmp);
return head;
}
p = p->next;
}
return head;
}
int ReviselinkNum(struct Test* head, int data ,int newdata)
{
while (head != NULL)
{
if (head->data == data)
{
head->data = newdata;
return 1;
}
head = head->next;
}return 0;
}
int searchlinkNum(struct Test* head, int data)
{
while (head != NULL)
{
if (head->data == data)
{
return 1;
}
head = head->next;
}return 0;
}
struct Test* insertFromHead(struct Test* head,struct Test *new)
{
if (head == NULL)
{
head = new;
}
else {
new->next = head;
head = new;
}
return head;
}
struct Test* Craeatelink(struct Test *head)
{
struct Test* new;
while (1)
{
new = (struct Test*)malloc(sizeof(struct Test));
puts("put your new node data:");
scanf("%d", &(new->data));
if (new->data == 0)
{
printf("0 quit\n");
free(new);
return head;
}
head = insertFromHead(head, new);
}
}
int main()
{
struct Test* head = NULL;
head = Craeatelink(head);
printlink(head);
struct Test t1 = { 1000,NULL };
head = insertFromHead(head,&t1);
system("pause");
return 0;
}