#include <stdio.h>
#include <stdlib.h>
typedef struct newlist
{
int data;
struct newlist *next;
struct newlist *pre;
} onelist;
int insertone(onelist **old_flist,onelist **old_elist,int a)
{
onelist *p =(onelist *)malloc(sizeof(onelist));
p->data = a;
p->next=NULL;
p->pre=NULL;
onelist * tmp,*q,*flist = * old_flist,*elist=* old_elist;
if(flist==NULL)
{
* old_flist=p;//修改的是首指针中所存储的值
* old_elist=p;
p->pre=NULL;
//return 0;
}
else
{
for( q = flist; q!= NULL; q = q->next)
{
if(q->data>a)
{
*old_flist=p;
q->pre=p;
p->next=q;
p->pre=NULL;
双向链表(二级指针实现)
最新推荐文章于 2024-02-02 11:18:57 发布