| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 524 人关注过本帖
标题:双向链表问题。
只看楼主 加入收藏
梦想中国
Rank: 2
等 级:新手上路
威 望:5
帖 子:539
专家分:0
注 册:2006-2-26
收藏
 问题点数:0 回复次数:4 
双向链表问题。

请诸位帮我看看下面的程序是不是双向链表:谢谢!
#include<stdio.h>
#include<stdlib.h>
typedef struct DuLNode{
int data;
struct DuLNode *prior; //指向先前元素的指针
struct DuLNode *next; //指向后继元素的指针
}DuLnode,*DuLinkList;

DuLinkList CreateList(DuLinkList L,int value);
void Output(DuLinkList L);

int main(void)
{
DuLinkList L=NULL;
int i,n,value;

printf("Please input n: ");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&value);
L=CreateList(L,value);
Output(L);
}

return 0;
}

DuLinkList CreateList(DuLinkList L,int value)
{
DuLinkList newPtr,previousPtr,currentPtr;

newPtr=(DuLinkList)malloc(sizeof(DuLnode));
if(newPtr!=NULL)
{
newPtr->data=value;
newPtr->next=NULL;

previousPtr=NULL;
currentPtr=L;

while(currentPtr && currentPtr->data < value)
{
previousPtr=currentPtr;
currentPtr=currentPtr->next;
}
if(previousPtr==NULL) //当是空表情况
{
newPtr->prior=L;
newPtr->next=L;
L=newPtr;
}
else if(currentPtr) //在表中间插入
{
previousPtr->next=newPtr;
newPtr->prior=previousPtr;
currentPtr->prior=newPtr;
newPtr->next=currentPtr;
}
else if(currentPtr==NULL) //在表尾插入
{
previousPtr->next=newPtr;
newPtr->prior=previousPtr;
newPtr->next=NULL;
}

}
else
printf("Dynamic malloc memory failure.\n");

return L;
}

void Output(DuLinkList L) //输出链表函数
{
while(L)
{
printf("%d->",L->data);
L=L->next;
}
printf("NULL\n");
}

搜索更多相关主题的帖子: 链表 
2006-03-19 23:11
星期八
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2004-11-3
收藏
得分:0 
程序没有认真看,不过看你有前驱指针和后继指针,浏览了一下creat函数,应该是双向链表吧
2006-03-20 12:47
sunnvya
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:1094
专家分:0
注 册:2005-11-23
收藏
得分:0 
是啊

http://www. 第二站>>>提供源码下载
2006-03-20 12:57
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
收藏
得分:0 

是双向,但是在插入的时候没用到(我建议用当前指针依次向前,向后找合适的位置)


叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2006-03-20 15:52
cordier
Rank: 2
等 级:论坛游民
威 望:1
帖 子:449
专家分:14
注 册:2006-2-9
收藏
得分:0 
好久没有看这么“恶心”的程序
我的意思是说我对这个很生蔬。

2006-03-20 15:53
快速回复:双向链表问题。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016608 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved