intinsertFromBehind(struct Test *head,int insertnum,struct Test *new){struct Test *p;
p = head;while(p !=NULL){if(p->data == insertnum){
new->next = p->next;
p->next = new;return1;}
p = p->next;}return0;}
链表从指定节点的前方插入新节点
struct Test *insert(struct Test *head,int num,struct Test *new){struct Test *p = head;if(head->data == num){
new->next = head;return new;}while(p->next !=NULL){if(p->next->data == num){
new->next = p->next;
p->next = new;return head;}
p = p->next;}return head;}
链表删除指定节点
struct Test *deleteNode(struct Test *head,int num){struct Test *p = head;if(p->data == num){
head = head->next;free(p);//释放malloc分配出来的空间return head;}while(p->next !=NULL){if(p->next->data == num){//struct Test *tmp = p;
p->next = p->next->next;//free(tmp);return head;}
p = p->next;}return head;}
链表动态创建之头插法
struct Test *insertFromHead(struct Test *head){struct Test *new;
new =(struct Test*)malloc(sizeof(struct Test));printf("input yours:\n");scanf("%d",&(new->data));if(head ==NULL){
head = new;return head;}else{
new->next = head;
head = new;}return head;}//输入0时退出struct Test *insertFromHead(struct Test *head){struct Test *new;while(1){
new =(struct Test*)malloc(sizeof(struct Test));printf("input yours:\n");scanf("%d",&(new->data));if(new->data ==0){return head;}if(head ==NULL){
head = new;}else{
new->next = head;
head = new;}}return head;}
struct Test *insertFromHead(struct Test *head){if(head ==NULL){
head = new;}else{
new->next = head;
head = new;}return head;}struct Test *creatLink(struct Test *head){struct Test *new;while(1){
new =(struct Test*)malloc(sizeof(struct Test));printf("input yours:\n");scanf("%d",&(new->data));if(new->data ==0){free(new);return head;}
head =insertFromHead(head, new);}}
尾插法创建链表
struct Test *insertFromBehind(struct Test *head,struct Test *new){struct Test *p = head;if(p ==NULL){
head = new;return head;}while(p->next !=NULL){
p = p->next;}
p->next = new;return head;}struct Test *creatLink(struct Test *head){struct Test *new;while(1){
new =(struct Test*)malloc(sizeof(struct Test));printf("input yours:\n");scanf("%d",&(new->data));if(new->data ==0){free(new);return head;}
head =insertFromBehind(head, new);}}