已知一单链表按值递增有序,写一算法,删除表中值大于mink并且小于maxk的所有节点,并将所删除节点释放。
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
typedef struct node
{
int data;
struct node *next;
}Node;
void Init_Node(Node *node);
Node* Create_List(int listLength);
void Function(Node *head,int mink,int maxk); //实现功能的函数
void Print(Node *head);
void main()
{
Node *listA;
listA=Create_List(10);
printf("原来的单链表的数据元素为:");Print(listA);
Function(listA,3,8);
printf("删除完毕后的单链表的数据元素为:");Print(listA);
printf("程序运行完毕\n");
}
void Init_Node(Node *node)
{
node->next=NULL;
node->data=0;
}
Node* Create_List(int listLength)
{
printf("正在申请一个长度为%d的带头结点的单链表\n",listLength);
Node *head,*tail,*n