linklist insert(linklist H,int x)
{
p=H
while(p->next!=null&&x>p->next->data)
p=p->next
s=(Hnode*)malloc(sizeof(Hnode))
s->data=x
s->next=p->next
p->next=s
return(H)
}
谈谈如何学习数据结构:1.如果你没有学过C语言,或者C语言学的不好的时候把数据结构当成一本数学书来学,它所讲述的都是一些简单的图论。在你的大脑中的主线不能丢失:线性结构,树结构和图结构。当你不再考虑复杂的程序设计时,仅仅研究个个离散点之间的关系,似乎数据结构也就不会那么难了。
2.学习好了抽象的离散点关系后,再巩固一下你的C语言水平,书中描述的都是类C。因此你只要学习简单的C定义、判断、循环语句就基本能看的懂课本中所有程序了。
3.以上都完成后,从数据结构的线性表开始。线性表中顺序表似乎是为你学习C语言设计的,学好线性表的链表是你起步的关键。后面的树结构,图结构,排序,查找都少不了链式结构,往往这个也是最难的。
4.看程序的时候一定要自己在纸上画画,最好先学会画程序的流程图,也许那样你学程序也就会更快一些。
5.数据结构是程序设计的最基本也是最有用的地方,学完之后你会受益匪浅的,也许这本书可以决定你以后的道路或者命运。
祝你成功!
修改后:#include <stdio.h>
#include <malloc.h>
typedef struct DuLNode{
int data
DuLNode *prior
DuLNode *next
}DuLNode,*DuLinkList
void Init(DuLinkList L,int n)
{
DuLNode *p
int i
p=(DuLinkList)malloc(sizeof(DuLNode))
printf("输入最后一个结点值:")
scanf("%d",&p->data)
p->next=L->next
L->next=p
p->prior=L
for (i=1i<n++i)
{
p=(DuLinkList)malloc(sizeof(DuLNode))
printf("逆序输入剩余结点值:")
scanf("%d",&p->data)
L->next->prior=p
p->next=L->next
L->next = p
p->prior=L
}
}
void main()
{
DuLinkList L
L=(DuLinkList)malloc(sizeof(DuLNode))
L->next=NULL
L->prior=NULL
Init(L,5)
}