数据结构学习过程
1.建立一个简单链表
根据下图建立链表的存储解结构:
typedef int datatype;
typedef struct node
{ datatype data;
struct node *next;
} LinkStack;
LinkStack *top
2.最短路径问题
用Dijkstra算法求图3有向图中v1到其余各顶点的最短距离。
v1->v2->v0->v4->v3->v5
距离为:5+10+30+20+10=65
3.算法设计
数据结构
typedef struct node
{
datatype data; //需提前定义datatype: typedef int datatype;
struct node *next;
}Linklist;
程序实现
int compare(Linklist *head1,Linklist *head2)
{
Linklist *p,*q;
int flag=0;
p=head1->next;
q=head2->next;
while(p&&q)
{
if(p->data>q->data)
{
flag=1;
break;
}
if(p->data<q->data)
{
flag=-1;
break;
}
p=p->next;
q=q->next;
}
if(p==NULL&&q!=NULL)
flag=-1;
if(p!=NULL&&q==NULL)
flag=1;
return flag;
}