1.先实现在单链表中插入:
//构建一个存储整数的结构
typedef struct _NUM{
struct _NUM *next;
int value;
}Node;
//声明其根指针,其始终指向链表第一个元素,相当于头指针,如果需要可以增加Node *tail尾指针,其始终指向最后一个元素。
typedef struct LIST{
Node *rootp;
Node *tail;
}List;
//以下是按顺序插入元素代码段(这段代码是可以插入相同值,并没有对其是否相同进行判断,接下来要写的双链表是有判断的
//注意这里在main函数中初始化头指针list.head==NULL,这里要改变头指针的值,函数参数列表中要传入二级指针,如果未定义以上的结构List,则应该是Node **rootp,以改变根指针rootp的值,让其由NULL->链表首元素地址。
int insert(List *plist,int num)
{
Node *current;
Node *previous;
Node *newnode;
current=plist->rootp; //初始化,current一定是newnode的下一个;
previous=NULL;
while(current!=NULL && current