Tìm đường đi ngắn nhất
Trang 1 trong tổng số 1 trang
Tìm đường đi ngắn nhất
Đoạn code này dùng để tìm đường đi ngắn nhất giữa các thành phố.
dữ liệu được nạp từ file text có tên "DataCity.txt" có nội dung như sau:
from to khoangcach
.........
from : nơi đi
to : nơi đến
khoangcach: kieu int
các giá trị cách nhau ít nhất một tab tương đương '\t' trong C,C++.
[code]#include
#include
#include
#include
#include
template
struct Node
{
Entry data;
Node *next;
};
template
struct List
{
Node *first,*last;
};
struct Data1
{
char *name;
int length;
};
struct Data2
{
char *name;
List *list;
};
struct Data3
{
int sumlength;
List *list;
};
template
void AddNode(List* list,Entry data)
{
Node *node=new Node;
node->data=data;
node->next=NULL;
if(list->first==NULL)
list->first=list->last=node;
else {
list->last->next=node;
list->last=node;
}
}
void OutputData(List *list)
{
Node *node1=list->first;
while(node1!=NULL)
{
cout<<"\n"<data.name<<"\n";
Node *node2=node1->data.list->first;
while(node2!=NULL)
{
cout<<"\t-> "<data.name<<"\t"<data.length<<"\n";
node2=node2->next;
}
node1=node1->next;
}
}
void AddNodeList2(List* list,char* from,char* to,int len)
{
Data1 data1;
data1.name=to;
data1.length=len;
Node *node=list->first;
while(node!=NULL)
{
if(strcmpi(node->data.name,from)==0)
{
AddNode(node->data.list,data1);
return;
}
node=node->next;
}
List *temp=new List;
temp->first=temp->last=NULL;
AddNode(temp,data1);
Data2 data;
data.name=from;
data.list=temp;
AddNode(list,data);
}
List* ReadFile(char* filename)
{
List *list=new List;
list->first=list->last=NULL;
FILE *fvb;
fvb=fopen(filename,"rt");
char str[255];
while(!feof(fvb))
{
fgets(str,255,fvb);
char *s[3];
int k=0,len=0,index=0;
for(int i=0;i
dữ liệu được nạp từ file text có tên "DataCity.txt" có nội dung như sau:
from to khoangcach
.........
from : nơi đi
to : nơi đến
khoangcach: kieu int
các giá trị cách nhau ít nhất một tab tương đương '\t' trong C,C++.
[code]#include
#include
#include
#include
#include
template
struct Node
{
Entry data;
Node *next;
};
template
struct List
{
Node *first,*last;
};
struct Data1
{
char *name;
int length;
};
struct Data2
{
char *name;
List *list;
};
struct Data3
{
int sumlength;
List *list;
};
template
void AddNode(List* list,Entry data)
{
Node *node=new Node;
node->data=data;
node->next=NULL;
if(list->first==NULL)
list->first=list->last=node;
else {
list->last->next=node;
list->last=node;
}
}
void OutputData(List *list)
{
Node *node1=list->first;
while(node1!=NULL)
{
cout<<"\n"<data.name<<"\n";
Node *node2=node1->data.list->first;
while(node2!=NULL)
{
cout<<"\t-> "<data.name<<"\t"<data.length<<"\n";
node2=node2->next;
}
node1=node1->next;
}
}
void AddNodeList2(List* list,char* from,char* to,int len)
{
Data1 data1;
data1.name=to;
data1.length=len;
Node *node=list->first;
while(node!=NULL)
{
if(strcmpi(node->data.name,from)==0)
{
AddNode(node->data.list,data1);
return;
}
node=node->next;
}
List *temp=new List;
temp->first=temp->last=NULL;
AddNode(temp,data1);
Data2 data;
data.name=from;
data.list=temp;
AddNode(list,data);
}
List* ReadFile(char* filename)
{
List *list=new List;
list->first=list->last=NULL;
FILE *fvb;
fvb=fopen(filename,"rt");
char str[255];
while(!feof(fvb))
{
fgets(str,255,fvb);
char *s[3];
int k=0,len=0,index=0;
for(int i=0;i
Trang 1 trong tổng số 1 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết
|
|