当前位置: 技术问答>linux和unix
求一单链表算法
来源: 互联网 发布时间:2016-03-03
本文导语: 定义一个线性单链表结构体 struct FileDataList { int flag; struct FileDataList *next; }; 写一算法,实现删除flag值为0的所有节点,那位帮忙写一个哦 | 设指针head指向连表的头部,节点为动态分配的空...
定义一个线性单链表结构体
struct FileDataList
{
int flag;
struct FileDataList *next;
};
写一算法,实现删除flag值为0的所有节点,那位帮忙写一个哦
struct FileDataList
{
int flag;
struct FileDataList *next;
};
写一算法,实现删除flag值为0的所有节点,那位帮忙写一个哦
|
设指针head指向连表的头部,节点为动态分配的空间.
struct FileDataList *tmp,*last;
last=tmp=head;
while(tmp)
{
if(tmp->flag==1)
{
if(tmp==head)
{
head=head->next;
free(tmp);
last=tmp=head;
}else
{
last->next=tmp->next;
free(tmp);
tmp=last->next;
}
}else
{
last=tmp;
tmp=tmp->next;
}
}
struct FileDataList *tmp,*last;
last=tmp=head;
while(tmp)
{
if(tmp->flag==1)
{
if(tmp==head)
{
head=head->next;
free(tmp);
last=tmp=head;
}else
{
last->next=tmp->next;
free(tmp);
tmp=last->next;
}
}else
{
last=tmp;
tmp=tmp->next;
}
}
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。